* call.c (build_user_type_conversion_1): Use my_friendly_assert
rather than if ... abort.
* cvt.c (convert_to_reference): Likewise.
* semantics.c (setup_vtbl_ptr): Likewise.
* pt.c (lookup_template_class): Comment typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48371
138bc75d-0d04-0410-961f-
82ee72b054a4
2001-12-29 Nathan Sidwell <nathan@codesourcery.com>
+ * call.c (build_user_type_conversion_1): Use my_friendly_assert
+ rather than if ... abort.
+ * cvt.c (convert_to_reference): Likewise.
+ * semantics.c (setup_vtbl_ptr): Likewise.
+ * pt.c (lookup_template_class): Comment typo.
+
+2001-12-29 Nathan Sidwell <nathan@codesourcery.com>
+
PR c++/5125
* pt.c (push_template_decl_real): Make sure DECL has
DECL_LANG_SPECIFIC.
/* We represent conversion within a hierarchy using RVALUE_CONV and
BASE_CONV, as specified by [over.best.ics]; these become plain
constructor calls, as specified in [dcl.init]. */
- if (IS_AGGR_TYPE (fromtype) && IS_AGGR_TYPE (totype)
- && DERIVED_FROM_P (totype, fromtype))
- abort ();
+ my_friendly_assert (!IS_AGGR_TYPE (fromtype) || !IS_AGGR_TYPE (totype)
+ || !DERIVED_FROM_P (totype, fromtype), 20011226);
if (IS_AGGR_TYPE (totype))
ctors = lookup_fnfields (TYPE_BINFO (totype),
t = build_int_2 (0, 0);
TREE_TYPE (t) = build_pointer_type (totype);
args = build_tree_list (NULL_TREE, expr);
- if (DECL_HAS_IN_CHARGE_PARM_P (OVL_CURRENT (ctors))
- || DECL_HAS_VTT_PARM_P (OVL_CURRENT (ctors)))
- /* We should never try to call the abstract or base constructor
- from here. */
- abort ();
+ /* We should never try to call the abstract or base constructor
+ from here. */
+ my_friendly_assert (!DECL_HAS_IN_CHARGE_PARM_P (OVL_CURRENT (ctors))
+ && !DECL_HAS_VTT_PARM_P (OVL_CURRENT (ctors)),
+ 20011226);
args = tree_cons (NULL_TREE, t, args);
}
for (; ctors; ctors = OVL_NEXT (ctors))
intype = TREE_TYPE (expr);
}
- if (TREE_CODE (intype) == REFERENCE_TYPE)
- my_friendly_abort (364);
+ my_friendly_assert (TREE_CODE (intype) != REFERENCE_TYPE, 364);
intype = TYPE_MAIN_VARIANT (intype);
arg_depth = TMPL_ARGS_DEPTH (arglist);
}
- /* Now we should enough arguments. */
+ /* Now we should have enough arguments. */
my_friendly_assert (parm_depth == arg_depth, 0);
/* From here on, we're only interested in the most general
tree base_init_list;
{
my_friendly_assert (doing_semantic_analysis_p (), 19990919);
-
- /* If we've already done this, break. */
- if (vtbls_set_up_p)
- abort ();
+ my_friendly_assert (!vtbls_set_up_p, 20011220);
if (processing_template_decl)
add_stmt (build_min_nt (CTOR_INITIALIZER,