OSDN Git Service

cp:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 29 Dec 2001 17:24:59 +0000 (17:24 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 29 Dec 2001 17:24:59 +0000 (17:24 +0000)
* 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

gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cvt.c
gcc/cp/pt.c
gcc/cp/semantics.c

index b910195..b392e95 100644 (file)
@@ -1,5 +1,13 @@
 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.
index d8129a7..865d1ef 100644 (file)
@@ -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))
index 3d02456..6029e84 100644 (file)
@@ -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);
 
index de24a05..139076e 100644 (file)
@@ -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
index 90120ce..b04a13a 100644 (file)
@@ -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,