From 6bc34b14ef3f254de4bf8570d1282d1cfd89c134 Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@gcc.gnu.org>
Date: Tue, 22 Jan 2002 09:37:29 -0500
Subject: [PATCH] * class.c (build_base_path): Tweak formatting.

From-SVN: r49075
---
 gcc/cp/ChangeLog | 174 ++++++++++++++++++++++++-----------------------
 gcc/cp/class.c   |  26 +++----
 2 files changed, 104 insertions(+), 96 deletions(-)

diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b4c9f704eb1f..18f5038fcabf 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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.
@@ -86,26 +91,27 @@
 	* 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>
 
@@ -240,76 +246,76 @@
 	(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>
 
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 6e9e34e8fafe..f9d597cafb75 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -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))));
-- 
GitLab