- 01 Mar, 2005 1 commit
-
-
nathan authored
PR c++/20232 * class.c (update_vtable_entry_for_fn): Don't crash on invalid covariancy. * cp-tree.g (THUNK_TARGET): Expand comment. * method.c (use_thunk): Make sure we also use the target, if that is a thunk. testsuite: PR c++/20232 * g++.dg/inherit/covariant12.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95733 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 24 Feb, 2005 1 commit
-
-
reichelt authored
parser.c: Fix comment typo(s). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95517 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 17 Feb, 2005 1 commit
-
-
aoliva authored
PR c++/20028 * class.c (finish_struct): Initialize TYPE_SIZE_UNIT of a template along with TYPE_SIZE. gcc/testsuite/ChangeLog: PR c++/20028 * g++.dg/template/crash34.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95182 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 15 Feb, 2005 1 commit
-
-
aoliva authored
PR c++/17788 * class.c (add_implicitly_declared_members, check_field_decl) (check_field_decls, check_bases): Remove arguments, tests and assignments of cant_have_default_ctor-related variables. gcc/testsuite/ChangeLog: PR c++/17788 * g++.dg/init/ctor4.C: New. * g++.old-deja/g++.bugs/900205_04.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95071 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 14 Feb, 2005 1 commit
-
-
nathan authored
PR c++/19891 * class.c (build_simple_base_path): Build the component_ref directly. (update_vtable_entry_for_fn): Walk the covariant's binfo chain rather than using lookup_base. * search.c (dfs_walk_once): Add non-recursive assert check. * typeck.c (build_class_member_access_expr): It is possible for the member type to be both const and volatile. testsuite: PR c++/19891 * g++.dg/abi/covariant4.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95005 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 09 Feb, 2005 1 commit
-
-
mmitchel authored
* class.c (add_method): Don't set TYPE_HAS_DESTRUCTOR. (check_bases): Give warnings about a base class with a non-virtual destructor, even if it is implicit. (finish_struct_bits): Don't copy TYPE_HAS_DESTRUCTOR. (maybe_warn_about_overly_private_class): Don't use TYPE_HAS_DESTRUCTOR. (finish_struct_methods): Don't set TYPE_HAS_DESTRUCTOR. (check_for_override): Give it external linkage. (add_implicitly_declared_members): Generate destructors lazily. (check_field_decls): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, not TYPE_HAS_DESTRUCTOR. (check_bases_and_members): Call check_methods before check_field_decls. (check_bases_and_members): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, not TYPE_HAS_DESTRUCTOR. (finish_struct_1): Do not use TYPE_HAS_DESTRUCTOR. * cp-tree.def (PSEUDO_DTOR_EXPR): Document. * cp-tree.h (TYPE_HAS_DESTRUCTOR): Remove. (lang_type_class): Add lazy_destructor. (CLASSTYPE_LAZY_DESTRUCTOR): New macro. (CLASSTYPE_DESTRUCTORS): Robustify. (TYPE_HAS_DESTRUCTOR): Remove. (check_for_override): Declare. (build_vbase_delete): Remove. * cvt.c (convert_to_void): Issue errors about pseudo-destructor expressions. * decl.c (cxx_maybe_build_cleanup): Remove dead code. * except.c (dtor_nothrow): Lazily create destructors if necessary. (build_throw): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. * init.c (build_delete): Lazily create destructors, if necessary. (build_vbase_delete): Remove. * method.c (locate_dtor): Simplify. (implicitly_declare_fn): Add support for destructors. * parser.c (cp_parser_lookup_name): Lazily create destructors, if necessary. * pt.c (check_explicit_specialization): Don't use TYPE_HAS_DESTRUCTOR. (instantiate_class_template): Likewise. * ptree.c (cxx_print_type): Don't print TYPE_HAS_DESTRUCTOR. * rtti.c (emit_support_tinfos): Robustify. * search.c (lookup_fnfields_1): Lazily create destructors. * typeck.c (build_class_member_access_expr): Remove PSEUDO_DTOR_EXPR handling. (lookup_destructor): Likewise. PR c++/19733 * g++.dg/parse/crash23.C: New test. * g++.dg/warn/Weff1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94759 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 25 Jan, 2005 1 commit
-
-
pinskia authored
* class.c (abort_fndecl_addr): New variable. (build_vtbl_initializer): If we have a pure virtual function share the abort function's address. Include gt-cp-class.h at the end. * config-lang.in (gtfiles): Add cp/class.c. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94225 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 17 Jan, 2005 1 commit
-
-
kazu authored
* cp-tree.h: Remove the corresponding prototypes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93754 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 06 Jan, 2005 2 commits
-
-
mmitchel authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93005 138bc75d-0d04-0410-961f-82ee72b054a4
-
mmitchel authored
* class.c (add_implicitly_declared_members): Remove dead code. * decl.c (grokfndecl): Add sfk parameter. Use it do set DECL_CONSTRUCTOR_P. (grokdeclarator): Adjust calls to grokfndecl. * method.c (implicitly_declare_fn): Improve documentation. * parser.c (cp_parser_direct_declarator): Do not consider a function to be a constructor if the containing class was originally anonymous. PR c++/19244 * g++.dg/parser/ctor2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93004 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 01 Jan, 2005 1 commit
-
-
rth authored
* function.c (use_register_for_decl): Check DECL_IGNORED_P instead of DECL_ARTIFICIAL. (assign_parms_augmented_arg_list): Set DECL_IGNORED_P. * c-decl.c (build_compound_literal): Likewise. * dwarf2asm.c (dw2_force_const_mem): Likewise. * gimplify.c (create_artificial_label): Likewise. * tree-inline.c (expand_call_inline): Likewise. * var-tracking.c (vt_initialize): Likewise. * tree-outof-ssa.c (create_temp): Copy DECL_IGNORED_P. cp/ * call.c (make_temporary_var_for_ref_to_temp): Set DECL_IGNORED_P. * class.c (build_vtable): Don't conditionallize setting it based on DWARF2_DEBUG. (layout_class_type): Set DECL_IGNORED_P. * decl2.c (get_guard): Likewise. * rtti.c (get_tinfo_decl, build_lang_decl): Likewise. * tree.c (build_local_temp): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92781 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 20 Dec, 2004 1 commit
-
-
mmitchel authored
* class.c (build_clone): Call note_decl_for_pch. * semantics.c (finish_member_declaration): Likewise. (note_decl_for_pch): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92402 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 17 Dec, 2004 1 commit
-
-
nathan authored
PR c++/17821 * class.c (add_method): Do not push conversion operators into a binding level. * cp-tree.h (CLASSTYPE_PRIMARY_TEMPLATE_TYPE): Reformat. * error.c (dump_decl): <TYPE_DECL case> Remove extraneous braces. testsuite: PR c++/17821 * g++.dg/lookup/conv-5.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92316 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 16 Dec, 2004 1 commit
-
-
nathan authored
PR c++/18905 * cp-tree.h (integral_constant_value): Declare. * call.c (null_ptr_cst_p): Use integral_constant_value, not decl_constant_value. (convert_like_real): Likewise. * class.c (check_bitfield_decl): Likewise. * cvt.c (ocp_convert): Likewise. (convert): Remove unnecessary decl_constant_value call. * decl.c (compute_array_index_type): Use integral_constant_value, not decl_constant_value. (build_enumerator): Likewise. * decl2.c (grokfield): Likewise. * init.c (decl_constant_value): Simplify. (integral_constant_value): New. * pt.c (fold_decl_constant_value): Use integral_constant_value, remove subsequent check. (tsubst): Use integral_constant_value, not decl_constant_value. (tsubst_copy, unify): Likewise. * typeck.c (decay_conversion): Likewise. (build_compound_expr): Remove unnecessary decl_constant_value calls. (build_static_cast_1, build_reinterpret_cast_1): (convert_for_assignment): Remove comment about not calling decl_constant_value. testsuite: PR c++/18905 * g++.dg/template/init4.C: New. * g++.dg/opt/static3.C: Enable optimizer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92257 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 14 Dec, 2004 2 commits
-
-
pinskia authored
PR c++/18968 * g++.dg/opt/pr18968.C: New test. 2004-12-13 Andrew Pinski <pinskia@physics.uc.edu> PR c++/18968 * class.c (build_base_path): Convert the zero constant to the correct type when comparing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92121 138bc75d-0d04-0410-961f-82ee72b054a4
-
mmitchel authored
* class.c (layout_class_type): Determine the visibility of static data members. PR c++/18925 * g++.dg/ext/visibility/staticdatamem.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92120 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 08 Dec, 2004 1 commit
-
-
nathan authored
PR c++/18803 * cp-tree.h (REFERENCE_REF_P): New. (CPTI_TYPE_INFO_TYPE): Rename to ... (CPTI_CONST_TYPE_INFO_TYPE): ... here. (CPTI_TYPE_INFO_REF_TYPE): Remove. (type_info_type_node): Rename to ... (const_type_info_type_node): ... here. (type_info_ref_type): Remove. * call.c (build_user_type_conversion): Reformat. (resolve_args): Do not convert_from_reference. (build_object_call): Call convert_from_reference. (prep_operand): Do not convert_from_reference. (build_new_method_call): Likewise. * class.c (build_vfield_ref): Likewise. * cvt.c (convert_to_reference): Likewise. (convert_from_reference): Build INDIRECT_REF here, not with build_indirect_ref. (convert_force): Do not convert_from_reference. (build_expr_type_conversion): Likewise. * decl.c (grok_reference_init): Likewise. * decl2.c (delete_sanity): Likewise. * except.c (initialize_handler_parm): Use POINTER_TYPE_P. * init.c (build_dtor_call): Do not convert_from_reference. * parser.c (cp_parser_template_argument): Unwrap indirected reference. Allow TEMPLATE_PARM_INDEX as an object parm. * pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use convert_from_reference, if indicated. <case CALL_EXPR>: Do not convert_from_reference. <case PARM_DECL, VAR_DECL>: Convert_from_reference if needed. (tsubst_initializer_list): Do not convert_from_reference. * rtti.c (init_rtti_processing): Adjust node creation. (throw_bad_typeid): Use const_type_info_type_node. Do not convert_from_reference. (typeid_ok_p): Use const_type_info_type_node. (build_typeid, get_typeid): Always return type_info typed node. (build_dynamic_cast_1): Dont convert_from_reference. Refactor. * semantics.c (finish_stmt_expr_expr): Do not convert_from_reference. (finish_id_expression): Convert_from_reference as appropriate. * typeck.c (decay_conversion): Do not convert_from_reference. (finish_class_member_access_expr): Likewise. (build_indirect_ref): Use POINTER_TYPE_P. (convert_arguments): Do not convert_from_reference. (build_modify_expr): Likewise. (convert_for_initialization): Likewise. * typeck2.c (build_x_arrow): Likewise. testsuite: PR c++/18803 * g++.dg/template/operator5.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91863 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 26 Nov, 2004 1 commit
-
-
lerdsuwa authored
* class.c (pushclass): Don't call cxx_remember_type_decls. * cp-tree.h (clear_anon_tags): Remove declaration. * decl.c (grokdeclarator): Don't call lookup_tag_reverse. * name-lookup.c (binding_entry_free, binding_table_free): Comment out functions. (binding_table_find_anon_type, binding_table_reverse_maybe_remap, binding_table_remove_anonymous_types, cxx_remember_type_decls, bt_print_entry, clear_anon_tags, follow_tag_typedef, lookup_tag, lookup_tag_reverse): Remove (begin_scope, leave_scope, kept_level_p, print_binding_level): Don't use type_decls field in cp_binding_level. (maybe_process_template_type_declaration, pushtag): Set CLASSTYPE_NESTED_UTDS directly. * name-lookup.h (binding_table_remove_anonymous_types, cxx_remember_type_decls, lookup_tag, lookup_tag_reverse): Remove declaration. (cp_binding_level): Remove type_decls field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91342 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 25 Nov, 2004 1 commit
-
-
mmitchel authored
* c-common.h (lvalue_use): Move here from c-ctypeck.c. (lvalue_or_else): Declare. * c-common.c (lvalue_or_else): Move here from c-typeck.c. * c-typeck.c (lvalue_use): Remove. (lvalue_or_else): Remove. PR c++/18556 * toplev.c (check_global_declarations): Set DECL_IGNORED_P on unemitted variables with static storage duration. PR c++/18445 * class.c (instantiate_type): Treat NON_DEPENDENT_EXPRs with unknown_type as non matching. Tidy up. * pt.c (build_non_dependent_expr): Do not build a NON_DEPENDENT_EXPR for a VAR_DECL. PR c++/18001 * cp-tree.h (lvalue_or_else): Remove declaration. * tree.c (lvalue_or_else): Remove. * typeck.c (build_unary_op): Adjust call to lvalue_or_else. (build_modify_expr): Likewise. PR c++/18625 * decl.c (duplicate_decls): Return error_mark_node on error, as specified. PR c++/18466 * decl.c (grokvardecl): Keep track of whether or not a there was explicit qualification. * name-lookup.c (set_decl_namespace): Complain about explicit qualification of a name within its own namespace. PR c++/18545 * typeck.c (check_return_expr): Robustify. PR c++/18445 * g++.dg/template/crash28.C: Likewise. PR c++/18001 * g++.dg/expr/unary2.C: Adjust lvalue messages. * g++.dg/ext/lvaddr.C: Likewise. * g++.dg/opt/pr7503-3.C: Likewise. PR c++/18466 * g++.dg/parse/qualified3.C: New test. * g++.old-deja/g++.other/friend7.C: Remove bogus qualification. PR c++/18545 * g++.dg/expr/return1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91301 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 09 Nov, 2004 1 commit
-
-
jsm28 authored
c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c, gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c, tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c, config/darwin.c, config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c, config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c, config/iq2000/iq2000.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h, config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.c, config/rs6000/host-darwin.c, config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, config/sh/symbian.c, config/stormy16/stormy16.c, config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %< and %> as appropriate. Use %' as apostrophe in diagnostics where applicable. Use %< and %> in place of '' quotes where applicable. Use %qs in place of %<%s%>. Consistently quote __builtin function names. ada: * misc.c (gnat_handle_option): Use %< and %> for quoting in warning message. cp: * call.c, class.c, decl.c, decl2.c, error.c, mangle.c, parser.c, pt.c, search.c, semantics.c, typeck.c: Use %q, %< and %> for quoting in diagnostics. * parser.c (cp_parser_sizeof_operand): Use '' instead of `' for quoting in printf format. * decl.c (duplicate_decls, start_decl): Use %qD instead of unquoted %D. objc: * objc-act.c: Use %q, %< and %> for quoting in diagnostics. testsuite: * gcc.dg/builtin-prefetch-1.c: Adjust expected messages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90337 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 08 Nov, 2004 1 commit
-
-
kazu authored
search.c, typeck2.c: Fix comment formatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90265 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 01 Nov, 2004 1 commit
-
-
gdr authored
* typeck.c (build_x_unary_op, convert_member_func_to_ptr, get_delta_difference): Use new quotation style. * repo.c (reopen_repo_file_for_write): Likewise. * pt.c (do_type_instantiation): Likewise. * parser.c (cp_parser_diagnose_invalid_type_name): * name-lookup.c (push_overloaded_decl, set_decl_namespace): * error.c (cp_print_error_function, print_instantiation_full_context): Likewise. * decl.c (define_label, grok_reference_init, maybe_deduce_size_from_array_init, revert_static_member_fn): * decl2.c (check_classfn): Likewise. * class.c (add_method, check_field_decls, layout_class_type, resolve_address_of_overloaded_function): Likewise. * call.c (build_x_va_arg, build_over_call): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89938 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 21 Oct, 2004 1 commit
-
-
mmitchel authored
PR c++/10841 * cp-tree.h (convert_to_base): Change prototype. (build_ptrmemfunc): Likewise. (convert_ptrmem): New function. * call.c (struct conversion): Adjust documentation for base_p. (standard_conversion): Set base_p for ck_pmem conversions as appropriate. (convert_like_real): Use convert_to_base for ck_pmem and ck_ptr conversions. * class.c (convert_to_base): Handle both pointers and objects. Add nonnull parameter. (build_vfield_ref): Adjust call to convert_to_base. * cvt.c (cp_convert_to_pointer): Adjust call to build_ptrmemfunc. (convert_force): Likewise. * typeck.c (build_unary_op): Likewise. (convert_ptrmem): New function. (build_static_cast_1): Use it. (build_reinterpret_cast): Allow conversions to vector types. (get_delta_difference): Add c_cast_p parameter. (build_ptrmemfunc): Likewise. Adjust calls to get_delta_difference. PR c++/10841 * g++.dg/conversion/cast1.C: New test. * g++.dg/overload/pmf1.C: Adjust error marker. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89403 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 18 Oct, 2004 1 commit
-
-
nathan authored
* cp-tree.h (UNIQUELY_DERIVED_FROM_P): Adjust lookup_base call. (ACCESSIBLY_UNIQUELY_DERIVED_P): Remove. (PUBLICLY_UNIQUELY_DERIVED_P): Adjust lookup_base call. (enum base_access): Reorganize. (accessible_base_p, accessible_p): Add consider_local_p parameter. * call.c (standard_conversion): Update comment about DERIVED_FROM_P. (enforce_access): Adjust accessible_p call. (build_over_call): Adjust accessible_base_p call. * class.c (convert_to_base): Adjust lookup_base call. (build_vtbl_ref_1): Likewise. (warn_about_ambiguous_bases): Likewise. Add early exit. * cvt.c (convert_to_pointer_force) Adjust lookup_base call. * search.c (accessible_base_p): Add consider_local_p parameter. (lookup_base): Pass consider_local_p to accessible_base_p call. (friend_accessible_p): Check whether scope is a class member. Remove unnecessary class template check. (accessible_p): Add consider_local_p parameter. Use it. (adjust_result_of_qualified_name_lookup): Adjust lookup_base call. * tree.c (maybe_dummy_object): Likewise. * typeck.c (comp_except_type): Use PUBLICLY_UNIQUELY_DERIVED_P. (build_class_member_access_expr): Adjust lookup_base call. * typeck2.c (binfo_or_else): Likewise. * rtti.c (build_dynamic_cast_1): Access can consider friendship and current scope. testsuite: * g++.dg/eh/shadow1.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89232 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 12 Oct, 2004 1 commit
-
-
nathan authored
dfs_skip_bases as appropriate. (modify_all_vtables): Walk in pre-order. * search.c (dfs_walk_all, dfs_walk_once_r, dfs_walk_once_accessible_r): Assert post order function never returns dfs_skip_bases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88939 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 11 Oct, 2004 1 commit
-
-
nathan authored
* class.c (build_base_path): Use SAME_BINFO_TYPE_P to compare binfo types. (convert_to_base_statically, determine_primary_bases, update_vtable_entry_for_fn, dfs_modify_vtables, build_vtt_inits, dfs_build_secondary_vptr_vtt_inits, build_ctor_vtbl_group, accumulate_vtbl_inits, dfs_accumulate_vtbl_inits, build_vtbl_initializer, add_vcall_offset_vtbl_entries_1): Likewise. * init.c (expand_member_init): Likewise. * search.c (lookup_base_r, dynamic_cast_base_recurse, binfo_via_virtual, copied_binfo, binfo_for_vbase, original_binfo): Likewise. * tree.c (copy_binfo): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88880 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 08 Oct, 2004 1 commit
-
-
nathan authored
unmarkedp): Remove. (dfs_skip_bases, dfs_walk_all, dfs_walk_once): New. * class.c (struct find_final_overrider_data): Remove most_derived, vpath_list and vpath fields. Add path field. (dfs_find_final_ocerrider_1): Add DEPTH parameter. Adjust. (dfs_find_final_overrider): Rename to ... (dfs_find_final_overrider_pre): ... here. Adjust. (dfs_find_final_overrider_post): Adjust. (dfs_find_final_overrider_q): Fold into dfs_find_final_overrider_pre. (find_final_overrider): Adjust dfs searching. (dfs_modify_vtables): Don't mark binfo here. (modify_all_vtables): Use dfs_walk_once. (build_vtt_inits): Likwise. Use dfs_walk_all. (dfs_build_secondary_vptr_vtt_inits): Don't mark binfo here. Return dfs_skip_bases as appropriate. (dfs_fixup_binfo_vtbls): Return dfs_skip_bases as appropriate. * init.c (dfs_initialized_vtbl_ptrs): Return dfs_skip_bases as appropriate. Don't mark binfo here. (initialize_vtbl_ptrs): Use dfs_walk_once. * search.c (struct vbase_info): Remove unused struct. (access_in_type): Use dfs_walk_once. (dfs_access_in_type): Don't mark binfo here. (dfs_accessible_queue_p, dfs_accessible_p) Remove. Fold into ... (accessible_r): ... here. New. Specialize dfs_walk_once. (accessible_p): Use accessible_r. (lookup_field_queue_p): Remove. Fold into ... (lookup_field_r): ... here. Adjust. (lookup_member): Use dfs_walk_all. (dfs_walk_real, dfs_walk): Replace with ... (dfs_walk_all, dfs_walk_once): ... these. (dfs_walk_once_r, dfs_unmark_r): Workers for dfs_walk_once. (dfs_unmark, unmarkedp, markedp): Remove. (dfs_get_pure_virtuals): Don't mark binfo here. (get_pure_virtuals): Use dfs_walk_once. (dfs_debug_unmarked_p): Remove. Fold into ... (dfs_debug_mark): ... here. (note_debug_info_needed): Use dfs_walk_all. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88738 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 07 Oct, 2004 1 commit
-
-
mmitchel authored
(DECL_MEMBER_TEMPLATE_P): New macro. (is_member_template): Remove. (class_method_index_for_fn): New function. * pt.c (build_over_call): Use DECL_MEMBER_TEMPLATE_P. * class.c (finish_struct_methods): Remove out-of-date comment. * decl.c (copy_fn_p): Use DECL_MBMER_TEMPLATE_P. * decl2.c (check_classfn): Use DECL_MEMBER_TEMPLATE_P and class_method_index_for_fn. * pt.c (is_member_template): Remove. (is_member_template_class): Likewise. (optimize_specialization_lookup_p): New function. (retrieve_specialization): Optimize lookups for members that are not member templates. (register_specialization): Adjust accordingly. (build_template_decl): Add member_template_p parameter. Set DECL_MEMBER_TEMPLATE_P. (process_partial_specialization): Adjust call to retrieve_specialization. (push_template_decl_real): Determine whether the template is a member template. (lookup_template_class): Use retrieve_specialization. (tsubst_decl): Adjust call to retrieve_specialization. (tsubst_exception_specification): New function. (tsubst): Use it. (tsubst_copy): Use DECL_MEMBER_TEMPLATE_P. (instantiate_template): Adjust call to retrieve_specialization. (regenerate_decl_from_template): Do not actually generate a new DECL. (instantiate_decl): Adjust call to retrieve_specialization. (class_method_index_for_fn): New method. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88697 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 04 Oct, 2004 1 commit
-
-
gdr authored
* class.c (build_base_path, add_method, alter_access, handle_using_decl, check_bases, maybe_warn_about_overly_private_class, find_final_overrider, warn_hidden, finish_struct_anon, add_implicitly_declared_members, check_bitfield_decl, check_field_decls, layout_empty_base, build_base_field, check_methods, layout_virtual_bases, warn_about_ambiguous_bases, layout_class_type, finish_struct_1, resolve_address_of_overloaded_function, instantiate_type, note_name_declared_in_class): Use format flag "q" for quoting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88473 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 29 Sep, 2004 1 commit
-
-
jason authored
* class.c (build_base_field): Set TYPE_MODE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88270 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 28 Sep, 2004 1 commit
-
-
nathan authored
(struct secondary_vptr_vtt_init_data_s): New. (build_vtt_inits): Adjust dfs_walkers. (dfs_build_secondary_vptr_vtt_inits): Caller data is a secondary_vptr_vtt_init_data_s structure. Adjust. (dfs_ctor_vtable_bases_queue_p): Remove. (dfs_fixup_binfo_vtbls): No need to clear BINFO_MARKED. Simplify. * pt.c (struct get_template_base_data_s): Remove. (get_template_base_r): Fold into get_template_base. (get_template_base): Walk base binfos directly in inheritance graph order. Remove duplicated changelog entries git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88224 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 27 Sep, 2004 1 commit
-
-
nathan authored
(dfs_depth_post, dfs_depth_q): Remove. (find_final_overrider): Use number of vbase classes as depth bound. * cp-tree.h (types_overlap_p): Remove. * search.c (struct overlap_info): Remove. (dfs_check_overlap, dfs_no_overlap_yet, types_overlap_p): Remove. * pt.c (GTB_VIA_VIRTUAL, GTB_IGNORE_TYPE): Remove. (get_template_base_recursive): Remove. Replace with ... (get_template_base_r): ... this. (struct get_template_base_data_s): New. (get_template_base): Use get_template_base_r via dfs_walk. Always return NULL on failure. (unify): Remove error_mark_node check from get_template_base result. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88169 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 21 Sep, 2004 1 commit
-
-
nathan authored
uses_multiple_inheritance field. (TYPE_USES_MULTIPLE_INHERITANCE): Remove. (TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P): Remove. (TYPE_USES_VIRTUAL_BASECLASSES): Remove. (DECL_NEEDS_VTT_PARM_P): Use CLASSTYPE_VBASECLASSES. (TYPE_CONTAINS_VPTR_P): Likewise. * call.c (add_template_candidate_real): Use CLASSTYPE_VBASECLASSES. (build_special_member_call): Likewise. * class.c (finish_struct_bits): Remove TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P & TYPE_USES_VIRTUAL_BASECLASSES bookkeeping. (check_bases_and_members): Use TYPE_CONTAINS_VPTR_P. (create_vtable_ptr): Remove TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P bookkeeping. (build_vtt_inits): Use CLASSTYPE_VBASECLASSES. (accumulate_vtbl_inits, build_vbase_offset_vtbl_entries): Likewise. * decl.c (xref_basetypes): Remove TYPE_USES_MULTIPLE_INHERITANCE, TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_USES_VIRTUAL_BASECLASSES bookkeeping. (cxx_maybe_build_cleanup): Use CLASSTYPE_VBASECLASSES. * decl2.c (maybe_retrofit_in_chrg): Likewise. * init.c (expand_member, push_base_cleanups): Likewise. * pt.c (instantiate_class_template): Remove TYPE_USES_MULTIPLE_INHERITANCE, TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_USES_VIRTUAL_BASECLASSES bookkeeping. * ptree.c (cxx_print_type): Remove TYPE_USES_MULTIPLE_INHERITANCE check. * typeck2.c (process_init_constructor): Replace some sorrys with asserts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87808 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 18 Sep, 2004 1 commit
-
-
kazu authored
* class.c: Fix a comment typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87704 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 17 Sep, 2004 1 commit
-
-
zack authored
Zack Weinberg <zack@codesourcery.com> * alias.c (find_base_decl): Remove unreachable case '3' block. * expr.c (safe_from_p): Abort if passed a type. * tree-gimple.c (recalculate_side_effects): Abort if passed anything other than an expression. * tree-ssa-pre.c (phi_translate): Return expr immediately if is_gimple_min_invariant is true for it. Reorder cases for clarity. Abort on un-handled tree classes. (valid_in_set): Likewise. * tree.c (tree_code_class_strings): New static data. * tree.h (enum tree_code_class): New. (tree_code_class_strings): Declare. (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P) (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P) (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros. (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS) (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update. * tree.def, c-common.def, objc/objc-tree.def: Use tree_code_class enumeration constants instead of code letters. * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c Update to match. * LANGUAGES: Add note about change. ada: * ada-tree.def: Use tree_code_class enumeration constants instead of code letters. * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c: Update for new tree-class enumeration constants. cp: * cp-tree.def: Use tree_code_class enumeration constants instead of code letters. * call.c, class.c, cp-gimplify.c, cp-lang.c, cxx-pretty-print.c * mangle.c, pt.c, semantics.c, tree.c, typeck.c: Update for new tree-class enumeration constants. fortran: * f95-lang.c, trans-expr.c, trans.c: Update for new tree-class enumeration constants. java: * java-tree.def: Use tree_code_class enumeration constants instead of code letters. * java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for new tree-class enumeration constants. treelang: * treetree.c: Update for new tree-class enumeration constants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87675 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 16 Sep, 2004 2 commits
-
-
nathan authored
(build_primary_vtable): Use copy_list directly. (build_secondary_vtable): Likewise. (update_vtable_entry_for_fn): Clear BV_CALL_INDEX here. (create_vtable_ptr): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87604 138bc75d-0d04-0410-961f-82ee72b054a4
-
nathan authored
VEC(tree). (CLASSTYPE_INLINE_FRIENDS, CLASSTYPE_PURE_VIRTUALS): Update comments. * call.c (build_new_method_call): Don't confirm a pure virtual is in CLASSTYPE_PURE_VIRTUALS. Reorder checks. Make it a warning. * class.c (check_methods): CLASSTYPE_INLINE_FRIENDS is a VEC(tree). (fixup_inline_methods, finish_struct): Likewise. * decl.c (finish_method): Likewise. * search.c (dfs_get_pure_virtuals, get_pure_virtuals): CLASSTYPE_PURE_VIRTUALS is a VEC(tree). * typeck2.c (abstract_virtuals_error): Likewise. Truncate the vector to avoid repeating the list in error messages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87592 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 15 Sep, 2004 1 commit
-
-
nathan authored
needs_final_overrider. (DECL_NEEDS_FINAL_OVERRIDER_P): Remove. * decl.c (duplicate_decls): Do not copy DECL_NEEDS_FINAL_OVERRIDER_P. * class.c (finish_struct_bits): Correct comment about CLASSTYPE_PURE_VIRTUALS. * search.c (get_pure_virtuals): Remove useless loop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87541 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 10 Sep, 2004 2 commits
-
-
rth authored
* call.c (build_vfield_ref): Move... * class.c (build_vfield_ref): ... here. Convert datum to the primary base containing the vptr. (make_new_vtable): Simplify build_primary_vtable arguments. (finish_struct_1): Do not duplicate TYPE_VFIELD. * typeck.c (build_class_member_access_expr): Don't warn for null object access to base fields. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87322 138bc75d-0d04-0410-961f-82ee72b054a4
-
kazu authored
name-lookup.h, parser.c, search.c, semantics.c, typeck2.c: Fix comment typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87292 138bc75d-0d04-0410-961f-82ee72b054a4
-