* class.c (build_base_path): Tweak formatting.
From-SVN: r49075
This commit is contained in:
parent
cf40364820
commit
6bc34b14ef
174
gcc/cp/ChangeLog
174
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>
|
||||
|
||||
|
|
|
@ -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))));
|
||||
|
|
Loading…
Reference in New Issue