X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcp%2FChangeLog;h=00ef4b59ef187a1cd541852b9a318b49fcf4bbaf;hb=066f26bfdffc5e058cb43c3a2ff271bb45a7bded;hp=f611cb3fce5aa1ff805e002a7a64394dcdbc25c4;hpb=3cb98335f5a6d00604531c7874c897d91ac8a4d6;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index f611cb3fce5..00ef4b59ef1 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,628 @@ +2004-07-19 Joseph S. Myers + + * typeck.c (build_modify_expr, build_x_modify_expr): Set + TREE_NO_WARNING on assignments with an operator other than '='. + +2004-07-10 Steven Bosscher + Joseph S. Myers + + * cp-tree.h (C_SET_EXP_ORIGINAL_CODE): Remove. + * decl2.c (grokfield): Don't check current_class_depth via + unused TREE_COMPLEXITY. + * semantics.c (finish_parenthesized_expr): Set TREE_NO_WARNING + to avoid the missing parentheses warning. + Don't set C_SET_EXP_ORIGINAL_CODE. + +2004-07-18 Mark Mitchell + + * tree.c (no_linkage_helper): Remove. + (no_linkage_check): Don't use walk_tree_without_duplicates. + + * mangle.c (write_expression): Issue a sorry for zero-operand + functional casts. + +2004-07-18 Kriang Lerdsuwanakij + + PR c++/13092 + * init.c (build_offset_ref): Build SCOPE_REF with non-null + TREE_TYPE for non-dependent names. + * typeck.c (build_x_unary_op): Handle non-dependent SCOPE_REF. + * pt.c (type_dependent_expression_p): Handle SCOPE_REF with + unknown_type_node as its TREE_TYPE. + * cxx-pretty_print.c (pp_cxx_unqualified_id): Handle BASELINK. + * error.c (dump_decl) : Use pp_expression. + (dump_expr) : Likewise. + +2004-07-17 Jason Merrill + + PR c++/16115 + * call.c (type_passed_as): Make the invisible reference type + __restrict. + * cp-gimplify.c (gimplify_cleanup_stmt): Rename to + cp_genericize_r. Handle invisible reference lowering. + (is_invisiref_parm): New fn. + (cp_genericize): Adjust the types of invisible reference parms. + Don't repeat the walk for clones. + * decl.c (store_parm_decls): Don't generate any code for clones. + +2004-07-17 Joseph S. Myers + + * cp-tree.h (builtin_function): Declare. + +2004-07-16 Mark Mitchell + + * class.c (finish_struct_methods): Remove unncessary code. + (add_implicitly_declared_members): Create declarations for default + constructors and copy constructors lazily. + * cp-tree.h (lang_type_class): Remove lazy_default_ctor and + lazy_copy_ctor. + (CLASSTYPE_LAZY_DEFAULT_CTOR): New macro. + (CLASSTYPE_LAZY_COPY_CTOR): Likewise. + * decl2.c (check_classfn): Robustify. + (locate_dtor): Handle empty CLASSTYPE_METHOD_VEC. + (locate_ctor): Handle lazy default constructors. + (locate_copy): Handle lazy copy constructors. + (implicitly_declare_fn): Make sure we're looking at the + TYPE_MAIN_VARIANT for a class before creating functions. Don't + set TYPE_HAS_CONSTRUCTOR. + (lazily_declare_fn): New function. + * name-lookup.c (constructor_name_full): Simplify. + * search.c (lookup_fnfields_1): Lazily create methods, as + necessary. + (lookup_for_overrides): Handle empty CLASSTYPE_METHOD_VEC. + +2004-07-16 Steven Bosscher + + * cp-tree.h (struct lang_type): Don't have three GTY options on a + single bit GTY desc. + +2004-07-16 Richard Henderson + + * cp-lang.c (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING): Die. + * cp-tree.h (cp_copy_res_decl_for_inlining): Remove. + * tree.c (cp_copy_res_decl_for_inlining): Remove. + +2004-07-16 Nathan Sidwell + + * class.c (finish_struct_bits): Use for loop. + (propagate_binfo_offsets): Do primary binfo outside of loop. + + PR c++/16583 + * dump.c (cp_dump_tree): Don't dump the bases if there's no + binfo. + + * pt.c (tsubst) : We should never get here. + +2004-07-15 Mark Mitchell + + * cp-tree.h (lang_type_class): Remove has_real_assign_ref and + has_abstract_assign_ref. Make methods a VEC(tree) *. + (TYPE_HAS_CONST_ASSIGN_REF): Add documentation. + (CLASSTYPE_CONSTRUCTORS): Adjust for changes to CLASSTYPE_METHOD_VEC. + (CLASSTYPE_DESTRUCTORS): Likewise. + (TYPE_HAS_REAL_ASSIGN_REF): Remove. + (TYPE_HAS_ABSTRACT_ASSIGN_REF): Likewise. + (add_method): Change prototoype. + * class.c (add_method): Remove error_p parameter. Adjust for + changes to CLASSTYPE_METHOD_VEC. + (handle_using_decl): Adjust call to add_method. + (maybe_warn_about_overly_private_class): Adjust for + changes to CLASSTYPE_METHOD_VEC. + (resort_type_method_vec): Likewise. + (finish_struct_methods): Likewise. + (check_for_override): Likewise. + (warn_hidden): Likewise. + (add_implicitly_declared_members): Defer creation of assignment + operators. Adjust call to add_method. + (clone_function_decl): Adjust call to add_method. + (check_bases_and_members): Don't set TYPE_HAS_REAL_ASSIGN_REF. + (finish_struct_1): Use CLASSTYPE_DESTRUCTORS. + * decl.c (grok_special_member_properties): Don't set + TYPE_HAS_ABSTRACT_ASSIGN_REF. + * decl2.c (check_classfn): Adjust for + changes to CLASSTYPE_METHOD_VEC. + * method.c (locate_dtor): Use CLASSTYPE_DESTRUCTORS. + (locate_ctor): Use CLASSTYPE_CONSTRUCTORS. + (locate_copy): Adjust for changes to CLASSTYPE_METHOD_VEC. + (implicitly_declare_fn): Set DECL_SOURCE_LOCATION. Do not call + cp_finish_decl. + * pt.c (check_explicit_specialization): Adjust for + changes to CLASSTYPE_METHOD_VEC. + (instantiate_class_template): Do not set + TYPE_HAS_ABSTRACT_ASSIGN_REF. + * ptree.c (cxx_print_type): Don't try to print + CLASSTYPE_METHOD_VEC. + * rtti.c (emit_support_tinfos): Use CLASSTYPE_DESTRUCTORS. + * search.c (lookup_field_r): Adjust for + changes to CLASSTYPE_METHOD_VEC. + (lookup_fnfields): Likewise. + (lookup_conversion_operator): Likewise. + (lookup_fnfields_1): Likewise. Create assignment operators + lazily. + (look_for_overrides_here): Adjust for + changes to CLASSTYPE_METHOD_VEC. + (add_conversions): Likewise. + * semantics.c (finish_member_declaration): Adjust call to add_method. + +2004-07-15 Jason Merrill + + * cp-lang.c (cxx_types_compatible_p): To the middle-end, + references and pointers are compatible. + +2004-07-15 Nathan Sidwell + + * decl.c (xref_basetypes): Refactor. + * tree.c (copy_base_binfos): Replace with ... + (copy_binfo): ... this. Deep copy the given binfo, (not the just + bases of the given base). + * cp-tree.h (copy_base_binfo): Remove. + (copy_binfo): Declare. + +2004-07-15 Mark Mitchell + + * name-lookup.c (set_inherited_value_binding_p): Add class_type + parameter. + (get_class_binding): Adjust. + (push_class_level_binding): Don't use set_inherited_value_binding_p. + +2004-07-15 Nathan Sidwell + + * class.c (finish_struct_bits): Don't set TYPE_HAS_CONVERSION here. + * decl.c (xref_basetypes): Set it here. + + * class.c (check_bases): Don't set CLASSTYPE_NON_AGGREGATE here. + Don't check for incomplete base. + (get_vfield_name): Simplify while loop. + * decl.c (xref_basetypes): Set CLASSTYPE_NON_AGGREGATE here. + +2004-07-14 Mark Mitchell + + * lex.c (cxx_make_type): Remove call to get_pointer_type. + + * cp-tree.h (IDENTIFIER_VALUE): Remove. + (BINFO_PUSHDECLS_MARKED): Likewise. + (maybe_inject_for_scope_var): Likewise. + (push_class_decls): Likewise. + * name-lookup.h (push_class_binding): Remove. + (innermost_non_namespace_value): New function. + (outer_binding): Likewise. + * class.c (add_method): Push bindings before adding to + TYPE_METHODS. + (restore_class_cache): Do not restore class_shadowed. + (pushclass): Do not add USING_DECLs. Do not call + push_class_decls. + * config-lang.in (gtfiles): Remove $(srcdir)/cp/search.c. + * decl.c (pushdecl): Use outer_binding. + (poplevel): Set the scope for an out-of-scope for-loop declaration + appropriately. + (cp_finish_decl): Don't call maybe_inject_for_scope_var. + * name-lookup.c (new_class_binding): New function. + (push_binding): Use it. + (pushdecl): Use innermost_non_namespace_value. + (maybe_inject_for_scope_var): Remove. + (push_class_binding): Remove. + (set_inherited_value_binding_p): New function. + (get_class_binding): New function. + (push_class_level_binding): Assert that the current_class_type is + being defined. + (outer_binding): New function. + (innermost_non_namespace_value): Likewise. + (lookup_name_real): Use outer_binding. + (lookup_name_current_level): Ignore out-of-scope variables. + * pt.c (check_template_shadow): Use innermost_non_namespace_value. + (lookup_template_class): Likewise. + * search.c (dfs_push_type_decls): Remove. + (dfs_push_decls): Likewise. + (setup_class_bindings): Likewise. + (lookup_field_1): Handle USING_DECLs from dependent scopes. + (marked_pushdecls_p): Remove. + (unmarked_pushdecls_p): Remove. + (marked_identifiers): Remove. + (setup_class_bindings): Remove. + (dfs_push_type_decls): Remove. + (dfs_push_decls): Remove. + (push_class_decls): Remove. + +2004-07-13 Mark Mitchell + + PR c++/16518 + PR c++/16337 + * decl.c (grokvardecl): Make declspecs parameter const. + (grokdeclarator): Likewise. Adjust accordingly. + * decl.h (grokdeclarator): Adjust declaration. + * parser.c (cp_parser_init_declarator): Do not clear + decl_specifiers->attributes. + + * cp-tree.h (lang_identifier): Remove class_value. + (IDENTIFIER_CLASS_VALUE): Remove. + (pop_class_decls): Likewise. + (init_search_processing): Likewise. + * class.c (handle_using_decl): Use lookup_member, not + IDENTIFIER_CLASS_VALUE. + (restore_class_cache): New function, split out from ... + (pushclass): ... here. Do not call clear_identifier_class_values. + (invalidate_class_lookup_cache): Do not clear + IDENTIFIER_CLASS_VALUE. + (popclass): Do not call pop_class_decls. + (maybe_note_name_used_in_class): Do not save names looked up after + the class is complete. Use lookup_member, not + IDENTIFIER_CLASS_VALUE. + * config-lang.in (gtfiles): Add $(srcdir)/cp/search.c. + * decl.c (cxx_init_decl_processing): Do not call + init_search_processing. + * method.c (do_build_copy_constructor): Remove unnecessary code. + (do_build_assign_ref): Likewise. + * name-lookup.c (pushdecl): Use lookup_member, not + IDENTIFIER_CLASS_VALUE. + (set_identifier_type_value_with_scope): Set TREE_TYPE on the + type_shadowed list. + (poplevel_class): Do not restore IDENTIFIER_CLASS_VALUE. + (push_class_binding): Do not set it. + (clear_identifier_class_values): Remove. + (push_class_level_binding): Do not set IDENTIFIER_CLASS_VALUE. + (store_binding): Do not save it. + (pop_from_top_level): Do not restore it. + * name-lookup.h (cxx_saved_binding): Remove class_value. + (clear_identifier_class_values): Remove. + * ptree.c (cxx_print_identifier): Do not print + IDENTIFIER_CLASS_VALUE. + * search.c (search_obstack): Remove. + (push_stack_level): Remove. + (pop_stack_level): Remove. + (search_level): Remove. + (search_stack): Remove. + (lookup_member): Don't check IDENTIFIER_CLASS_VALUE. + (setup_class_bindings): Use IDENTIFIER_MARKED, not + IDENTIFIER_CLASS_VALUE. + (marked_identifiers): New variable. + (push_class_decls): Clear IDENTIFIER_MARKED. + (pop_class_decls): Don't call pop_search_level. + (init_search_processing): Remove. + +2004-07-12 Mark Mitchell + + * cp-tree.h (get_aggr_typedef): Remove. + * init.c (get_aggr_typedef): Likewise. + + * name-lookup.c (push_class_level_binding): Simplify. + +2004-07-12 Andrew Pinski + + PR c++/16475 + Revert: + 2004-07-07 H.J. Lu + PR c++/16276 + * rtti.c (emit_tinfo_decl): Turn off DECL_ONE_ONLY if typeinfo + is not public. + +2004-07-12 Eric Christopher + + * parser.c (cp_parser_class_head): Remove unused variable. + +2004-07-12 Giovanni Bajo + + * decl.c (grok_op_properties): Reject [de-]allocation functions + declared in a namespace, or declared as static. + +2004-07-12 Nathan Sidwell + + * cp-tree.h (make_binfo): Remove. + * decl.c (xref_basetypes): Use make_tree_binfo directly. + * tree.h (copy_base_binfos): Likewise. + (make_binfo): Remove. + + * call.c (build_user_type_conversion_1, build_new_op, + check_constructor_callable, build_temp, + perform_direct_initialization_of_possible): Pass type directly to + lookup_fnfields & build_special_member_call. + (build_special_member_call): Accept a type, and complete it. + * class.c (finish_stuct_bits): Copy the BINFOs here. + * cvt.c (ocp_convert): Pass type directly to + build_special_member_call. + * decl.c (build_ptrmemfunc_type): Call xref_bastypes here. + (xref_basetypes): Allocate the binfo here. Adjust. + * init.c (build_init, build_new_1): Pass type directly to + build_special_member_call. + * lex.c (cxx_make_type): Do not allocate binfo here. + * name-lookup.c (arg_assoc_class): Incomplete types have no binfo. + * parser.c (cp_parser_class_head): Always call xref_basetypes. + * pt.c (instantiate_class_template): Likewise. Inhibit access + checking for template friends. + * ptree.c (cxx_print_type): Adjust record printing. + * search.c (lookup_base): When taking a type, complete it before + looking for a binfo. + (lookup_member): Delay completing a type. + (push_class_decls): Don't walk an incomplete type. + (lookup_conversions): Likewise. + * semantics.c (finish_stmt_expr_expr): Pass type directly to + build_special_member_call. + * tree.c (copy_base_binfos): Adjust. + (make_binfo): Likewise. + * typeck.c (build_modify_expr): Pass type directly to + build_special_member_call. + * typeck2.c (process_init_constructor): Check a binfo exists. + (build_m_component_ref): Allow accessing an incomplete type. + (build_functional_cast): Pass type directly to + build_special_member_call. + +2004-07-12 Giovanni Bajo + + PR c++/2204 + * config-lang.in (gtfiles): Add typeck2.c. + * Make-lang.in: Tweak typeck2.c dependencies, and add rule for + gt-cp-typeck2.h. + * cp-tree.h: Declare complete_type_check_abstract. + * typeck2.c (pat_calc_hash, pat_compare, + complete_type_check_abstract): New functions. + (abstract_virtuals_error): If the type is abstract, register the + declaration within abstract_pending_vars for further checks. + Inspect also dependent types. Handle IDENTIFIER_NODEs as decl. + * decl.c (cp_finish_decl): Do not strip array types. + (create_array_type_for_decl): Check for abstractness of the element + type. + (complete_vars): Call complete_type_check_abstract. + * class.c (finish_struct): Prepare a list of virtual functions for + template types, and call complete_vars on it to check for abstractness. + +2004-07-12 Paolo Bonzini + + PR tree-optimization/14107 + * decl.c (finish_function): Remove temporary band-aid. + +2004-07-11 Mark Mitchell + + * call.c (build_operator_new_call): Avoid using push_to_top_level. + (build_new_op): Adjust call to lookup_function_nonclass. + * name-lookup.c (identifier_type_value): Adjust call to + lookup_name_real. + (lookup_name_real): Add block_p parameter. + (lookup_name_nonclass): Adjust call to lookup_name_real. + (lookup_function_nonclass): Likewise. + (lookup_name): Likewise. + * name-lookup.h (lookup_name_real): Change prototype. + (lookup_name_nonclass): Likewise. + * parser.c (cp_parser_lookup_name): Likewise. + + * cp-tree.h (saved_scope): Make old_bindings a vector. + (unuse_fields): Remove. + * name-lookup.h (cxx_saved_binding): Define it. + * class.c (pushclass): Don't use unuse_fields. + * name-lookup.c (cxx_saved_binding_make): Remove. + (store_binding): Add new bindings to a vector, using an + accumulator style, rather than adding them to a list. + (store_bindings): Adjust accordingly. + (store_class_bindings): Likewise. + (push_to_top_level): Likewise. + (pop_from_top_level): Likewise. + * optimize.c (maybe_clone_body): Must push_to_top_level and + pop_from_top_level calls outside of loop. + * parser.c (cp_parser_class_specifier): Move push_scope/pop_scope + calls here from cp_parser_late_parsing_default_args. + (cp_parser_save_default_args): Record the class type in which the + function is declared. + (cp_parser_late_parsing_default_args): Do not call + push_nested_class/pop_nested_class. + * search.c (dfs_unuse_fields): Remove. + (unuse_fields): Remove. + +2004-07-11 Joseph S. Myers + + * cp-lang.c (LANG_HOOKS_MAYBE_BUILD_CLEANUP, LANG_HOOKS_PUSHLEVEL, + LANG_HOOKS_POPLEVEL, LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): Remove. + * cp-tree.h (poplevel): Declare. + (set_block): Remove. + * decl.c (set_block): Remove. + +2004-07-10 Mike Stump + + * decl2.c (import_export_class): Never export/import vtables + with inline key functions. + +2004-07-09 Steven Bosscher + + * typeck.c (c_expand_asm_operands): Remove. + +2004-07-09 Mike Stump + + * typeck.c (build_class_member_access_expr): Skip null deref + warning when we don't dereference it. + +2004-07-09 Giovanni Bajo + + PR c++/8211 + PR c++/16165 + * class.c (check_field_decls): Improve -Weffc++ warning: do not + warn for pointers to functions/members, or for classes without + destructors. + +2004-07-08 Mark Mitchell + + * name-lookup.h (struct cp_binding_level): Update documentation + for class_shadowed. + +2004-07-08 Giovanni Bajo + + PR c++/16169 + * typeck.c (check_return_expr): Improve -Weffc++ warning: handle + returning CALL_EXPR, and non-reference return type. + +2004-07-08 Nathan Sidwell + + * name-lookup.c (push_binding): Use VEC_reserve. + +2004-07-08 Richard Henderson + + * cp-tree.h (expand_eh_spec_block): Remove. + +2004-07-07 Mark Mitchell + + * cp-tree.h (saved_scope): Remove x_previous_class_type and + x_previous_class_values; add x_previous_class_level. + (previous_class_type): Remove. + (previous_class_values): Remove. + (previous_class_level): New macro. + * class.c (pushclass): Restore the identifier cache more + expeditiously. + (invalidate_class_lookup_cache): Use vector for class_shadowed and + previous_class_values. + * decl.c (poplevel): Likewise. + * name-lookup.c (cxx_binding_init): New function. + (cxx_binding_make): Use it. + (push_binding): For a binding in a class level, use a vector of + cp_class_binding nodes. + (push_binding_level): New function. + (begin_scope): Use it. + (leave_scope): Do not put class binding levels on the free list. + (print_binding_level): Adjust for the fact that class_shadowed is + a vector. + (poplevel_class): Likewise. + (clear_identifier_class_values): Likewise. + (push_class_level_binding): Likewise. + (set_class_shadows): Remove. + (store_binding): New function. + (store_class_bindings): New function. + (push_to_top_level): Use store_class_bindings as appropriate. + (pop_from_top_level): Use previous_class_level, not + previous_class_type. + * name-lookup.h (cp_class_binding): New type. + (cp_binding_level): Use a vector object for class_shadowed. + (push_binding_level): Declare. + (set_class_shadows): Remove. + +2004-07-07 Andrew Pinski + + * class.c (instantiate_type): BUFFER_REF is dead. + * lex.c (init_operators): IN_EXPR is dead. + +2004-07-07 Jason Merrill + + PR c++/16334 + * call.c (build_new_op): Give overload warnings for built-in + candidates. + +2004-07-07 H.J. Lu + + PR c++/16276 + * rtti.c (emit_tinfo_decl): Turn off DECL_ONE_ONLY if typeinfo + is not public. + +2004-07-07 Nathan Sidwell + + * cp-tree.h (CLASSTYPE_N_BASECLASSES): Remove. + * class.c (build_primary_vtable, check_bases, + determine_primary_base, finish_struct_bits, + maybe_warn_about_overly_private_class, dfs_find_final_overrider_q, + get_basefndecls, warn_hidden, walk_subobject_offsets, + build_base_fields, create_vtable_ptr, propagate_binfo_offsets, + layout_virtual_bases, end_of_class, warn_about_ambiguous_bases, + finish_struct_1, get_vfield_name, contains_empty_class_p, + dump_class_hierarchy_r, finish_vtbls, build_vtt_inits, + dfs_ctor_vtable_bases_queue_p, accumulate_vtbl_inits, + add_vcall_offset_vtbl_entries_r, cp_fold_obj_type_ref): Adjust + BINFO macros. + * decl.c (xref_basetypes): Likewise. + * dump.c (cp_dump_tree): Likewise. + * error.c (dump_expr): Likewise. + * init.c (sort_mem_initializers, expand_member_init, + push_base_cleanups): Likewise. + * method.c (do_build_copy_constructor, do_build_assign_reg, + synthesize_exception_spec): Likewise. + * name-lookup.c (arg_assoc_class): Likewise. + * pt.c (instantiate_class_template, tsubst, + get_template_base_recursive): Likewise. + * ptree.c (cxx_print_type): Likewise. + * rtti.c (get_psuedo_ti_init, get_pseudo_ti_desc): Likewise. + * search.c (lookup_base_r, dynamic_cast_base_recurse, + dfs_access_in_type, access_in_type, lookup_field_queue_p, + bfs_walk, dfs_walk_real, look_for_overrides, markedp, unmarkedp, + marked_pushdecls_p, unmarked_pushdecls_p, dfs_debug_markedp, + dfs_debug_unmarkedp, dfs_check_overlap, dfs_no_overlap_yet, + binfo_for_vtable, copied_binfo, original_binfo): Likewise + * tree.c (copy_base_binfos, make_binfo): Likewise. + * typeck.c (commmon_base_type): Likewise + * typeck2.c (process_init_constructor): Likewise + +2004-07-06 Joseph S. Myers + + * decl.c (check_tag_decl): Name redeclared type in diagnostic. + +2004-07-06 Giovanni Bajo + + PR c++/3671 + * pt.c (convert_nontype_argument): Disallow conversions between + different enumeration types. + +2004-07-06 Nathan Sidwell + + * cp-tree.h (BINFO_MARKED): Remove. + (BINFO_VTABLE_PATH_MARKED, BINFO_NEW_VTABLE_MARKED, + BINFO_DEPENDENT_BASE_P, BINFO_LOST_PRIMARY_P, + BINFO_INDIRECT_PRIMARY_P): Use appropriate BINFO_FLAG_n. + (SET_BINFO_NEW_VTABLE_MARKED): Use BINFO_VIRTUAL_P. + * class.c (build_base_path): Use BINFO_VIRTUAL_P. + (mark_primary_bases, determine_primary_base, base_derived_from, + dfs_find_final_overrider, dfs_find_final_overrider_q, + dfs_find_inal_overrider_post, update_vtable_entry_for_fn, + dfs_modify_vtables, walk_subobject_offsets, + layout_nonempty_base_or_field, build_base_field, + build_base_fields, propagate_binfo_offsets, layout_virtual_bases, + end_of_class, get_vfield_name, dump_class_hierarchy, dump_vtable, + finish_vtbls, build_vtt_inits, dfs_build_secondary_vptr_vtt_inits, + build_ctor_vtbl_group, accumulate_vtble_inits, + dfs_accumulate_vtbls_inits, build_vbase_offset_vtbl_entries, + build_vcall_offset_vtbl_entries, add_vcall_offset_vtbl_entries_r, + add_vcall_offset_vtbl_entries_1): Likewise. + * decl.c (xref_basetypes): Incomming virtual base indicated by + TREE_TYPE. Adjust. + * dump.c (cp_dump_tree): Use BINFO_VIRTUAL_P. + * init.c (finish_init_stmts, sort_mem_initializers, + emit_mem_initializers, build_vtble_address, expand_member_init, + push_base_cleanups): Likewise. + * method.c (do_build_copy_constructor): Likewise. + * pt.c (instantiate_class_template, + get_template_base_recursive): Likewise. + * rtti.c (dfs_class_hint_mark, get_pseudo_ti_init, + get_pseudo_ti_desc): Likewise. + * search.c (lookup_base_r, dynamic_cast_base_recurse, + binfo_from_vbase, binfo_via_virtual, copied_binfo, + original_binfo): Likewise. + * semantics.c (finish_base_specifier): Virtualness is indicated + by TREE_TYPE. + * tree.c (copy_base_binfos): Use BINFO_VIRTUAL_P. + +2004-07-06 Mark Mitchell + + Revert: + 2004-06-24 Jason Merrill + PR c++/16115 + * decl.c (grokparms): Give the PARM_DECL reference type if the + parameter is passed by invisible reference. + +2004-07-05 Richard Kenner + + * cp-lang.c (cp_var_mod_type_p): Add extra arg. + * decl.c (grokdeclarator): Extra arg to variably_modified_type_p. + * pt.c (check_instantiated_args, unify): Likewise. + +2004-07-05 Phil Edwards + + * Make-lang.in (check-c++, lang_checks): Add some comments. + +2004-07-05 Zack Weinberg + + * cp-mudflap.c: Delete file. + * Makefile.in: Remove all references to cp-mudflap.o. + +2004-07-05 Zack Weinberg + + * decl.c (cxx_init_decl_processing): Call + build_common_tree_nodes before creating the global NAMESPACE_DECL. + +2004-07-05 Giovanni Bajo + + PR c++/2518 + * call.c (build_operator_new_call): Look only at global scope. + 2004-07-05 Nathan Sidwell * call.c (enforce_access): Expect TREE_BINFO. @@ -192,12 +817,12 @@ 2004-06-27 Gabriel Dos Reis - PR c++/14123 + PR c++/14123 * cxx-pretty-print.c (pp_cxx_ptr_operator): Properly put paranthesis in case of pointers to array members. * error.c (dump_type_prefix): Likewise. (dump_type_suffix): Maybe issue a whitespace when printing - ARRAY_TYPE. + ARRAY_TYPE. 2004-06-27 Mark Mitchell @@ -214,12 +839,12 @@ (pp_non_consecutive_character): Likewise. (dump_scope): Use pp_cxx_colon_colon. (dump_template_parameter): Use pp_cxx_identifier, - pp_cxx_tree_identifier and pp_cxx_whitespace. + pp_cxx_tree_identifier and pp_cxx_whitespace. (dump_templat_bindings): Replace use of pp_string with sequence of pp_cxx_whitespace and pp_equal. (dump_type): Use pp_cxx_identifier, pp_cxx_tree_identifier, pp_cxx_colon_colon, pp_cxx_whitespace throughout. Don't set - padding here. + padding here. (dump_aggr_type): Use pp_cxx_identifier amd pp_cxx_tree_identifier. (dump_type_prefix): Don't set padding. Use pp_cxx_whitespace, pp_cxx_left_parent, pp_cxx_colon_colon and pp_cxx_star troughout. @@ -229,17 +854,17 @@ (dump_template_decl): Likewise. (dump_function_decl): Likewise. Set padding as appropriate. (dump_parameters): Use pp_cxx_left_paren, pp_cxx_identifier and - pp_cxx_right_paren. + pp_cxx_right_paren. (dump_exception_spec): Likewise. (dump_function_name): Use pp_cxx_tree_identifier and - pp_cxx_identifier. + pp_cxx_identifier. (dump_template_parms): Use pp_cxx_begin_template_argument_list and pp_cxx_end_template_argument_list. (dump_expr): Use pp_cxx_left_paren, pp_cxx_right_paren, pp_cxx_colon_colon, pp_cxx_identifier, pp_cxx_tree_identifier and - pp_cxx_whitespace throughout. + pp_cxx_whitespace throughout. (dump_binary_op): Use pp_cxx_whitespace, pp_cxx_left_paren and - pp_cxx_right_paren. + pp_cxx_right_paren. (dump_unary_op): Likewise. (reinit_cxx_pp): New function. (type_as_string); Use it. @@ -394,8 +1019,8 @@ (cp_parser_set_decl_spec_type): Likewise. * pt.c: Do not include lex.h. * semantics.c: Likewise. - (finish_member_class_template): Remove. - + (finish_member_class_template): Remove. + 2004-06-23 Roger Sayle * call.c (build_cxx_call): Don't call expand_tree_builtin. No