From 41f5d4b195481b8a36adbff6376921f1ef14f02c Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Sat, 29 Dec 2001 17:24:59 +0000 Subject: call.c (build_user_type_conversion_1): Use my_friendly_assert rather than if ... cp: * 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. From-SVN: r48371 --- gcc/cp/ChangeLog | 8 ++++++++ gcc/cp/call.c | 15 +++++++-------- gcc/cp/cvt.c | 3 +-- gcc/cp/pt.c | 2 +- gcc/cp/semantics.c | 5 +---- 5 files changed, 18 insertions(+), 15 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b910195..b392e95 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,13 @@ 2001-12-29 Nathan Sidwell + * 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 + PR c++/5125 * pt.c (push_template_decl_real): Make sure DECL has DECL_LANG_SPECIFIC. diff --git a/gcc/cp/call.c b/gcc/cp/call.c index d8129a7..865d1ef 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -2376,9 +2376,8 @@ build_user_type_conversion_1 (totype, expr, flags) /* 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), @@ -2400,11 +2399,11 @@ build_user_type_conversion_1 (totype, expr, flags) 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)) diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index 3d02456..6029e84 100644 --- a/gcc/cp/cvt.c +++ b/gcc/cp/cvt.c @@ -485,8 +485,7 @@ convert_to_reference (reftype, expr, convtype, flags, decl) 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); diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index de24a05..139076e 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -3982,7 +3982,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain) 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 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 90120ce..b04a13a 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -1157,10 +1157,7 @@ setup_vtbl_ptr (member_init_list, base_init_list) 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, -- cgit v1.1