* class.c (build_base_path): Tweak formatting.
authorJason Merrill <jason@gcc.gnu.org>
Tue, 22 Jan 2002 14:37:29 +0000 (09:37 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 22 Jan 2002 14:37:29 +0000 (09:37 -0500)
From-SVN: r49075

gcc/cp/ChangeLog
gcc/cp/class.c

index b4c9f704eb1f9bc0baa1c319b23c48fcccd9605e..18f5038fcabf02109044e1aff23b3e0669d86e4e 100644 (file)
@@ -1,3 +1,7 @@
+2002-01-22  Jason Merrill  <jason@redhat.com>
+
+       * class.c (build_base_path): Tweak formatting.
+
 2002-01-19  Nathan Sidwell  <nathan@codesourcery.com>
 
        Fix regression introduced with patch for c++/775
@@ -25,6 +29,7 @@
 
 2002-01-10  Ira Ruben  <ira@apple.com>
 
+       PR c++/907
        * decl.c (start_method): Handle attrlist.
 
 2002-01-10  Jakub Jelinek  <jakub@redhat.com>
@@ -40,7 +45,7 @@
 
 2002-01-09  Graham Stott  <grahams@redhat.com>
 
-       * decl.h ( grokdeclarator): Wrap long line.
+       * decl.h (grokdeclarator): Wrap long line.
 
        * semantics.c (FINISH_COND): Uppercase macro paramaters and
        add parenthesis.
        * decl2.c (coerce_new_type): Downgrade error for size_t mismatch
        to pedwarn.
 
+       PR c++/3536
        * method.c (make_thunk): If !flag_weak, give the thunk the
        function's linkage.
        (use_thunk): Here, too.
 
 2002-01-07  Graham Stott  <grahams@redhat.com>
 
-        * error.c: Update copyright date.
-        (print_scope_operator): Add parenthesis.
-        (print_left_paren): Likewise.
-        (print_right_paren): Likewise.
-        (print_left_bracket): Likewise.
-        (print_right_bracket): Likewise.
-        (print_template_argument_list_start): Likewise.
-        (print_template_argument_list_end): Likewise.
-        (print_non_consecutive_character): Likewise.
-        (print_tree_identifier): Likewise.
-        (print_identifier): Likewise.
-        (NEXT_CODE): Uppercase macro parameter.
-        (ident_fndecl): Delete unused.
-        (GLOBAL_THING): Likewise.
+       * error.c: Update copyright date.
+       (print_scope_operator): Add parenthesis.
+       (print_left_paren): Likewise.
+       (print_right_paren): Likewise.
+       (print_left_bracket): Likewise.
+       (print_right_bracket): Likewise.
+       (print_template_argument_list_start): Likewise.
+       (print_template_argument_list_end): Likewise.
+       (print_non_consecutive_character): Likewise.
+       (print_tree_identifier): Likewise.
+       (print_identifier): Likewise.
+       (NEXT_CODE): Uppercase macro parameter.
+       (ident_fndecl): Delete unused.
+       (GLOBAL_THING): Likewise.
 
 2002-01-06  Graham Stott  <grahams@redhat.com>
 
        (CLASSTYPE_VFIELDS): Whitespace.
        (VF_DERIVED_VALUE): Wrap long line.
        (NAMESPACE_LEVEL): Whitespace.
-        (CAN_HAVE_FULL_LANG_DECL_P): Remove parenthesis.
-        (DEFARG_POINTER): Whitespace.
-        (DECL_NEEDED_P): Remove parenthesis.
-        (DECL_LANGUAGE): Whitespace.
-        (SET_DECL_LANGUAGE): Add parenthesis.
-        (DECL_CONSTRUCTOR_P): Whitespace and wrap.
-        (DECL_OVERLOADED_OPERATOR_P): Remove parenthesis.
-        (DECL_IN_AGGR_P): Whitespace.
-        (DECL_FRIEND_P): Likewise.
-        (DECL_BEFRIENDING_CLASSES): Likewise.
-        (DECL_STATIC_FUNCTION_P): Whitespace and wrap.
-        (DECL_NONCONVERTING_P): Whitespace.
-        (DECL_PURE_VIRTUAL_P): Likewise.
-        (DECL_NEEDS_FINAL_OVERRIDER_P): Likewise.
-        (DECL_PENDING_INLINE_INFO): Whitespace.
-        (DECL_SORTED_FIELDS): Likewise.
-        (DECL_DEFERRED_FN): Likewise.
-        (DECL_TEMPLATE_INFO): Likewise.
-        (CLASSTYPE_TEMPLATE_INFO): Whitespace and wrap.
-        (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO); Likewise.
-        (SET_TYPE_TEMPLATE_INFO): Add parenthesis.
-        (TMPL_ARGS_LEVEL): Likewise.
-        (SET_TMPL_ARGS_LEVEL): Likewise.
-        (INNERMOST_TEMPLATE_PARMS): Whitespace.
-        (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter.
-        (INTEGRAL_CODE_P(CODE): Add parenthesis.
-        (CP_INTEGRAL_TYPE_P): Remove parenthesis.
-        (TYPE_HAS_CONSTRUCTOR): Whitespace.
-        (TREE_HAS_CONSTRUCTOR): Likewise.
-        (TYPE_HAS_DESTRUCTOR): Likewise.
-        (TYPE_HAS_REAL_ASSIGN_REF): Likewise.
-        (TYPE_HAS_COMPLEX_ASSIGN_REF): Likewise.
-        (TYPE_HAS_ABSTRACT_ASSIGN_REF): Likewise.
-        (TYPE_HAS_COMPLEX_INIT_REF): Likewise.
-        (TYPE_HAS_NONTRIVIAL_DESTRUCTOR): Likewise.
-        (TYPE_PTRMEMFUNC_P): Likewise.
-        (TYPE_PTRMEMFUNC_FLAG): Likewise.
-        (TYPE_GET_PTRMEMFUNC_TYPE): Likewise.
-        (TYPE_SET_PTRMEMFUNC_TYPE): Likewise.
-        (TYPE_PTRMEM_CLASS_TYPE): Remove parenthesis.
-        (TYPE_PTRMEM_POINTED_TO_TYPE): Likewise.
-        (DECL_ACCESS): Whitespace.
-        (DECL_GLOBAL_CTOR_P): Remove parenthesis.
-        (DECL_GLOBAL_DTOR_P): Likewise.
-        (GLOBAL_INIT_PRIORITY): Likewise.
+       (CAN_HAVE_FULL_LANG_DECL_P): Remove parenthesis.
+       (DEFARG_POINTER): Whitespace.
+       (DECL_NEEDED_P): Remove parenthesis.
+       (DECL_LANGUAGE): Whitespace.
+       (SET_DECL_LANGUAGE): Add parenthesis.
+       (DECL_CONSTRUCTOR_P): Whitespace and wrap.
+       (DECL_OVERLOADED_OPERATOR_P): Remove parenthesis.
+       (DECL_IN_AGGR_P): Whitespace.
+       (DECL_FRIEND_P): Likewise.
+       (DECL_BEFRIENDING_CLASSES): Likewise.
+       (DECL_STATIC_FUNCTION_P): Whitespace and wrap.
+       (DECL_NONCONVERTING_P): Whitespace.
+       (DECL_PURE_VIRTUAL_P): Likewise.
+       (DECL_NEEDS_FINAL_OVERRIDER_P): Likewise.
+       (DECL_PENDING_INLINE_INFO): Whitespace.
+       (DECL_SORTED_FIELDS): Likewise.
+       (DECL_DEFERRED_FN): Likewise.
+       (DECL_TEMPLATE_INFO): Likewise.
+       (CLASSTYPE_TEMPLATE_INFO): Whitespace and wrap.
+       (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO); Likewise.
+       (SET_TYPE_TEMPLATE_INFO): Add parenthesis.
+       (TMPL_ARGS_LEVEL): Likewise.
+       (SET_TMPL_ARGS_LEVEL): Likewise.
+       (INNERMOST_TEMPLATE_PARMS): Whitespace.
+       (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter.
+       (INTEGRAL_CODE_P(CODE): Add parenthesis.
+       (CP_INTEGRAL_TYPE_P): Remove parenthesis.
+       (TYPE_HAS_CONSTRUCTOR): Whitespace.
+       (TREE_HAS_CONSTRUCTOR): Likewise.
+       (TYPE_HAS_DESTRUCTOR): Likewise.
+       (TYPE_HAS_REAL_ASSIGN_REF): Likewise.
+       (TYPE_HAS_COMPLEX_ASSIGN_REF): Likewise.
+       (TYPE_HAS_ABSTRACT_ASSIGN_REF): Likewise.
+       (TYPE_HAS_COMPLEX_INIT_REF): Likewise.
+       (TYPE_HAS_NONTRIVIAL_DESTRUCTOR): Likewise.
+       (TYPE_PTRMEMFUNC_P): Likewise.
+       (TYPE_PTRMEMFUNC_FLAG): Likewise.
+       (TYPE_GET_PTRMEMFUNC_TYPE): Likewise.
+       (TYPE_SET_PTRMEMFUNC_TYPE): Likewise.
+       (TYPE_PTRMEM_CLASS_TYPE): Remove parenthesis.
+       (TYPE_PTRMEM_POINTED_TO_TYPE): Likewise.
+       (DECL_ACCESS): Whitespace.
+       (DECL_GLOBAL_CTOR_P): Remove parenthesis.
+       (DECL_GLOBAL_DTOR_P): Likewise.
+       (GLOBAL_INIT_PRIORITY): Likewise.
        (DECL_TEMPLATE_PARMS): Likewise.
-        (DECL_TEMPLATE_RESULT): Likewise.
-        (DECL_TEMPLATE_INSTANTIATIONS): Likewise.
-        (DECL_TEMPLATE_SPECIALIZATIONS): Likewise.
-        (DECL_IMPLICIT_TYPEDEF_P): Remove parenthesis.
-        (SET_DECL_IMPLICIT_TYPEDEF_P): Likewise.
-        (PRIMARY_TEMPLATE_P): Add parenthesis.
-        (DECL_USE_TEMPLATE): Whitespace.
-        (CLASSTYPE_IMPLICIT_INSTANTIATION): Likewise.
-        (SET_CLASSTYPE_IMPLICIT_INSTANTIATION): Likewise.
-        (CLASSTYPE_EXPLICIT_INSTANTIATION): Likewise.
-        (SET_CLASSTYPE_EXPLICIT_INSTANTIATION): Likewise.
-        (CALL_DECLARATOR_PARMS): Remove parenthesis.
-        (CALL_DECLARATOR_QUALS): Likewise.
-        (CALL_DECLARATOR_EXCEPTION_SPEC): Likewise.
-        (TEMP_NAME_P): Wrap.
-        (VFIELD_NAME_P): Likewise.
-        (B_SET): Uppercase macro parameters and add parenthesis.
-        (B_CLR): Likewise.
-        (B_TST): Likewise.
-        (LOOKUP_NAMESPACES_ONLY): Uppercase macro parameters.
-        (LOOKUP_TYPES_ONLY): Uppercase macro parameters.
-        (LOOKUP_QUALIFIERS_ONLY): Uppercase macro parameters.
-        (same_or_base_type_p): Likewise.
-        (cp_deprecated): Likewise.
+       (DECL_TEMPLATE_RESULT): Likewise.
+       (DECL_TEMPLATE_INSTANTIATIONS): Likewise.
+       (DECL_TEMPLATE_SPECIALIZATIONS): Likewise.
+       (DECL_IMPLICIT_TYPEDEF_P): Remove parenthesis.
+       (SET_DECL_IMPLICIT_TYPEDEF_P): Likewise.
+       (PRIMARY_TEMPLATE_P): Add parenthesis.
+       (DECL_USE_TEMPLATE): Whitespace.
+       (CLASSTYPE_IMPLICIT_INSTANTIATION): Likewise.
+       (SET_CLASSTYPE_IMPLICIT_INSTANTIATION): Likewise.
+       (CLASSTYPE_EXPLICIT_INSTANTIATION): Likewise.
+       (SET_CLASSTYPE_EXPLICIT_INSTANTIATION): Likewise.
+       (CALL_DECLARATOR_PARMS): Remove parenthesis.
+       (CALL_DECLARATOR_QUALS): Likewise.
+       (CALL_DECLARATOR_EXCEPTION_SPEC): Likewise.
+       (TEMP_NAME_P): Wrap.
+       (VFIELD_NAME_P): Likewise.
+       (B_SET): Uppercase macro parameters and add parenthesis.
+       (B_CLR): Likewise.
+       (B_TST): Likewise.
+       (LOOKUP_NAMESPACES_ONLY): Uppercase macro parameters.
+       (LOOKUP_TYPES_ONLY): Uppercase macro parameters.
+       (LOOKUP_QUALIFIERS_ONLY): Uppercase macro parameters.
+       (same_or_base_type_p): Likewise.
+       (cp_deprecated): Likewise.
 
 2002-01-05  Richard Henderson  <rth@redhat.com>
 
index 6e9e34e8fafe9f1eb905056db9a876f57c449a23..f9d597cafb755c212e5ff46659deaf7fb897adb3 100644 (file)
@@ -252,7 +252,7 @@ build_base_path (code, expr, binfo, nonnull)
      int nonnull;
 {
   tree v_binfo = NULL_TREE;
-  tree t;
+  tree d_binfo = NULL_TREE;
   tree probe;
   tree offset;
   tree target_type;
@@ -263,11 +263,13 @@ build_base_path (code, expr, binfo, nonnull)
 
   if (expr == error_mark_node || binfo == error_mark_node || !binfo)
     return error_mark_node;
-  
-  for (probe = binfo; probe;
-       t = probe, probe = BINFO_INHERITANCE_CHAIN (probe))
-    if (!v_binfo && TREE_VIA_VIRTUAL (probe))
-      v_binfo = probe;
+
+  for (probe = binfo; probe; probe = BINFO_INHERITANCE_CHAIN (probe))
+    {
+      d_binfo = probe;
+      if (!v_binfo && TREE_VIA_VIRTUAL (probe))
+       v_binfo = probe;
+    }
 
   probe = TYPE_MAIN_VARIANT (TREE_TYPE (expr));
   if (want_pointer)
@@ -276,13 +278,13 @@ build_base_path (code, expr, binfo, nonnull)
   my_friendly_assert (code == MINUS_EXPR
                      ? same_type_p (BINFO_TYPE (binfo), probe)
                      : code == PLUS_EXPR
-                     ? same_type_p (BINFO_TYPE (t), probe)
+                     ? same_type_p (BINFO_TYPE (d_binfo), probe)
                      : false, 20010723);
   
   if (code == MINUS_EXPR && v_binfo)
     {
       error ("cannot convert from base `%T' to derived type `%T' via virtual base `%T'",
-               BINFO_TYPE (binfo), BINFO_TYPE (t), BINFO_TYPE (v_binfo));
+            BINFO_TYPE (binfo), BINFO_TYPE (d_binfo), BINFO_TYPE (v_binfo));
       return error_mark_node;
     }
 
@@ -303,12 +305,12 @@ build_base_path (code, expr, binfo, nonnull)
   if (v_binfo && !fixed_type_p)
     {
       /* Going via virtual base V_BINFO.  We need the static offset
-         from V_BINFO to BINFO, and the dynamic offset from T to
-         V_BINFO.  That offset is an entry in T's vtable.  */
+         from V_BINFO to BINFO, and the dynamic offset from D_BINFO to
+         V_BINFO.  That offset is an entry in D_BINFO's vtable.  */
       tree v_offset = build_vfield_ref (build_indirect_ref (expr, NULL),
                                        TREE_TYPE (TREE_TYPE (expr)));
       
-      v_binfo = binfo_for_vbase (BINFO_TYPE (v_binfo), BINFO_TYPE (t));
+      v_binfo = binfo_for_vbase (BINFO_TYPE (v_binfo), BINFO_TYPE (d_binfo));
       
       v_offset = build (PLUS_EXPR, TREE_TYPE (v_offset),
                        v_offset,  BINFO_VPTR_FIELD (v_binfo));
@@ -326,7 +328,7 @@ build_base_path (code, expr, binfo, nonnull)
        offset = v_offset;
     }
 
-  target_type = code == PLUS_EXPR ? BINFO_TYPE (binfo) : BINFO_TYPE (t);
+  target_type = code == PLUS_EXPR ? BINFO_TYPE (binfo) : BINFO_TYPE (d_binfo);
   
   target_type = cp_build_qualified_type
     (target_type, cp_type_quals (TREE_TYPE (TREE_TYPE (expr))));