1. 16 Dec, 2004 1 commit
    • re PR c++/18905 (Strange error: subscripted value is neither array nor pointer) · 8a784e4a
      cp:
      	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.
      
      From-SVN: r92257
      Nathan Sidwell committed
  2. 08 Dec, 2004 1 commit
    • re PR c++/18803 (rejects access to operator() in template) · db24eb1f
      cp:
      	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.
      
      From-SVN: r91863
      Nathan Sidwell committed
  3. 29 Nov, 2004 1 commit
    • [multiple changes] · 86f029aa
      2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
      
      	PR c/7544
      	* Makefile.in (c-lang.o): Update dependencies.
      	* c-lang.c: Include "c-pragma.h".
      	(finish_file): Call maybe_apply_pending_pragma_weaks.
      	* c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
      	* c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype.
      
      cp:
      2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
      
      	* Make-lang.in (cp/decl2.o): Update dependencies.
      	* decl2.c (finish_file): Call maybe_apply_pending_pragma_weaks.
      
      objc:
      2004-11-29  Joseph Myers  <joseph@codesourcery.com>
      
      	* Make-lang.in (objc/objc-act.o): Update dependencies.
      	* objc-act.c (objc_finish_file): Call
      	maybe_apply_pending_pragma_weaks if not OBJCPLUS.
      
      testsuite:
      2004-11-29  Joseph Myers  <joseph@codesourcery.com>
      
      	* g++.dg/ext/weak1.C, gcc.dg/weak/weak-10.c, objc.dg/weak-1.m: New
      	tests.
      
      From-SVN: r91479
      Joseph Myers committed
  4. 24 Nov, 2004 1 commit
    • cp-tree.h (context_as_string): Remove extern. · af746697
      	* cp-tree.h (context_as_string): Remove extern.
      	* error.c (context_as_string): Remove.
      
      	* cp-tree.h (cp_type_qual_from_rid): Remove extern.
      	* lex.c (cp_type_qual_from_rid): Remove.
      
      	* cp-tree.h (do_poplevel): Remove extern.
      	(check_multiple_declarators): Likewise.
      	* semantics.c (do_poplevel): Make static.
      	(check_multiple_declarators): Remove.
      
      	* cp-tree.h (check_final_overrider): Remove extern.
      	* search.c (check_final_overrider): Make static.
      
      	* cp-tree.h (build_artificial_parm): Remove extern.
      	* decl2.c (build_artificial_parm): Make static.
      
      From-SVN: r91134
      Ben Elliston committed
  5. 12 Nov, 2004 1 commit
    • re PR c++/18389 (ICE on struct declaration in for statement) · 44370687
      	PR c++/18389
      	* decl.c (start_decl): Make sure to set *pop_scope_p.  Return
      	error_mark_node to indicate errors.
      
      	PR c++/18429
      	* parser.c (cp_parser_direct_declarator): Disallow non-constant
      	array bounds when not inside a function.
      
      	PR c++/18436
      	* pt.c (tsubst_copy_and_build): Do not do Koenig lookup when an
      	unqualified name resolves to a member function.
      
      	PR c++/18407
      	* pt.c (tsubst_copy_and_build): Handle qualified names used from a
      	derived class correctly.
      
      	* decl2.c (import_export_decl): Fix typo in comment.
      	* tree.c (pod_type_p): Likewise.
      
      	PR c++/18389
      	* g++.dg/parse/cond1.C: New test.
      
      	PR c++/18429
      	* g++.dg/template/array9.C: New test.
      	* g++.dg/ext/vla1.C: Adjust error messages.
      	* g++.dg/ext/vlm1.C: Likewise.
      	* g++.dg/template/crash2.C: Likewise.
      
      	PR c++/18436
      	* g++.dg/template/call3.C: New test.
      
      	PR c++/18407
      	* g++.dg/template/ptrmem11.C: New test.
      
      From-SVN: r90545
      Mark Mitchell committed
  6. 09 Nov, 2004 1 commit
    • builtins.c, [...]: Avoid "`" as left quote, using "'" or %q, %< and %> as appropriate. · 9e637a26
      	* builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
      	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.
      
      From-SVN: r90337
      Joseph Myers committed
  7. 01 Nov, 2004 1 commit
    • Convert diagnostics to use quoting flag q 9/n · c4f73174
              Convert diagnostics to use quoting flag q 9/n
              * 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.
      
      From-SVN: r89938
      Gabriel Dos Reis committed
  8. 17 Oct, 2004 1 commit
  9. 13 Oct, 2004 1 commit
  10. 11 Oct, 2004 1 commit
  11. 07 Oct, 2004 1 commit
    • cp-tree.h (ICS_USER_FLAG): Remove comment about obsolete flag. · c7222c02
      	* cp-tree.h (ICS_USER_FLAG): Remove comment about obsolete flag.
      	(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.
      
      From-SVN: r88697
      Mark Mitchell committed
  12. 04 Oct, 2004 1 commit
    • Convert diagnostics to use quoting flag q 3/n · 2d01edd7
      cp/
              Convert diagnostics to use quoting flag q 3/n
              * decl.c (pop_label, duplicate_decls,
              redeclaration_error_message,
              redeclaration_error_message, lookup_label, check_goto,
              make_typename_type, make_unbound_class_template,
              fixup_anonymous_aggr, check_tag_decl, start_decl,
              start_decl_1,
              grok_reference_init, layout_var_decl, maybe_commonize_var,
              check_for_uninitialized_const_var, reshape_init_array,
              reshape_init, check_initializer, cp_finish_decl,
              member_function_or_else, bad_specifiers, grokfndecl,
              grokvardecl,
              check_static_variable_definition, compute_array_index_type,
              create_array_type_for_decl,
              check_special_function_return_type,
              grokdeclarator, check_default_argument, grokparms,
              grok_ctor_properties, grok_op_properties,
              check_elaborated_type_specifier, xref_tag, finish_enum,
              build_enumerator, check_function_type,
              start_preparsed_function,
              store_parm_decls): Use quoting formats.
              * decl2.c (grok_array_decl, delete_sanity,
              check_member_template,
              check_java_method, check_classfn,
              finish_static_data_member_decl,
              grokfield, grokbitfield, grok_function_init,
              build_anon_union_vars, coerce_new_type, coerce_delete_type,
              check_default_args): Likewise.
              * parser.c (cp_parser_decl_specifier_seq): Likewise.
      
      testsuite/
              * g++.dg/template/local1.C: Adjust quoting marks in
              testing for diagnostics.
              * g++.dg/tls/diag-2.C: Likewise.
              * g++.dg/other/error8.C: Likewise.
      
      From-SVN: r88478
      Gabriel Dos Reis committed
  13. 22 Sep, 2004 1 commit
  14. 21 Sep, 2004 1 commit
    • cp-tree.h (struct lang_type_header): Remove uses_multiple_inheritance field. · 5775a06a
      	* cp-tree.h (struct lang_type_header): Remove
      	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.
      
      From-SVN: r87808
      Nathan Sidwell committed
  15. 19 Sep, 2004 1 commit
  16. 10 Sep, 2004 2 commits
    • c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h. · 5d709b00
      	* c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
      	(extract_interface_info): Delete prototype.
      	* c-decl.c (extract_interface_info): Delete stub.
      	* c-lex.c (get_fileinfo): Initialize file_info_tree here, if
      	it's not already been done ...
      	(init_c_lex): ... not here.
      	(fe_file_change): Don't call extract_interface_info.
      cp:
      	* cp-tree.h (interface_only, interface_unknown): Delete declarations;
      	comment explaining them moved to c-common.h.
      	* lex.c (interface_only, interface_unknown, extract_interface_info):
      	Delete definitions.
      	(cxx_finish): Don't reset interface_unknown.
      	(handle_pragma_interface): Don't set interface_only and
      	interface_unknown; just the like-named fields in finfo.
      	(handle_pragma_implementation): Adjust comment.
      	* decl2.c (cp_finish_file): Don't reset interface_only and
      	interface_unknown.
      	* method.c (synthesize_method): Don't reset interface_unknown or
      	call extract_interface_info.
      	* pt.c (pop_tinst_level): Don't call extract_interface_info.
      	* decl.c (start_cleanup_fn): Don't save or restore interface_only
      	and interface_unknown.
      	(make_rtl_for_nonlocal_decl): Call get_fileinfo on input_filename
      	and use the result instead of the interface_only/interface_unknown
      	globals.
      	(start_preparsed_function): Likewise.
      	* lex.c (cxx_make_type): Likewise.
      	* semantics.c (begin_class_definition): Likewise.
      	(expand_body): Don't call extract_interface_info.
      
      From-SVN: r87329
      Zack Weinberg committed
    • class.c, [...]: Fix comment typos. · 77880ae4
      	* class.c, cp-tree.h, decl.c, decl2.c, mangle.c,
      	name-lookup.h, parser.c, search.c, semantics.c, typeck2.c: Fix
      	comment typos.
      
      From-SVN: r87292
      Kazu Hirata committed
  17. 09 Sep, 2004 1 commit
    • defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default. · 15072eb1
      	* defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
      	* config/arm/pecoff.h, config/i386/beos-elf.h
      	* config/i386/cygming.h, config/i386/i386-interix.h:
      	Define MULTIPLE_SYMBOL_SPACES to 1, not nothing.  Remove
      	comment cloned from manual.
      	* doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
      cp:
      	* decl2.c (import_export_class)
      	* lex.c (handle_pragma_interface):
      	Test MULTIPLE_SYMBOL_SPACES with if, not #ifdef.
      
      From-SVN: r87243
      Zack Weinberg committed
  18. 02 Sep, 2004 1 commit
  19. 01 Sep, 2004 1 commit
    • target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA. · 505970fc
      	* target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
      	* target.h (cxx): Add export_class_data.
      	* config/arm/arm.c (arm_cxx_export_class_data): New function.
      	(TARGET_CXX_EXPORT_CLASS_DATA): Use it.
      	* testsuite/g++.dg/ext/visibility/arm1.C: New test.
      
      	* cp-tree.h (DECL_CONSTRUCTION_VTABLE_P): New macro.
      	* class.c (build_ctor_vtbl_group): Set DECL_CONSTRUCTION_VTABLE_P.
      	* decl2.c (determine_visibility): Honor
      	TARGET_CXX_EXPORT_CLASS_DATA.
      
      	* g++.dg/ext/visibility/arm1.C: New test.
      
      From-SVN: r86867
      Mark Mitchell committed
  20. 31 Aug, 2004 2 commits
    • hooks.c (hook_bool_void_true): New function. · af287697
      	* hooks.c (hook_bool_void_true): New function.
      	* hooks.h (hook_bool_void_true): Declare.
      	* target-def.h (TARGET_CXX): Add
      	TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
      	* target.h (struct cxx): Add key_method_may_be_inline.
      	* config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
      	function.
      	(TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
      	* config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
      	__THUMB_INTERWORK.
      
       	* class.c (key_method): Rename to ...
      	(determine_key_method): ... this.
      	(finish_struct_1): Adjust accordingly.
      	* cp-tree.h (key_method): Declare.
      	* decl2.c (maybe_emit_vtables): Determine the key method here if
      	it has not already been done.
      
      	* g++.dg/abi/key1.C: New test.
      
      From-SVN: r86843
      Mark Mitchell committed
    • Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-objcp-common.o. · 11bb4b27
      2004-08-31  Ziemowit Laski  <zlaski@apple.com>
      
              * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-objcp-common.o.
              (cp/cp-lang.o): Depend on debug.h, gtype-cp.h and cp/cp-objcp-common.h.
              (cp/cp-decl.c): Do not depend on gtype-cp.h.
              (cp/cp-objcp-common.o): New target.
              * cp-lang.c: Include debug.h, cp-objcp-common.h and gtype-cp.h.
              (cxx_get_alias_set, cxx_warn_unused_global_decl, cp_expr_size,
              cp_tree_size, cp_var_mod_type_p, cxx_initialize_diagnostics): Move
              prototypes and definitions to cp-objcp-common.h and cp-objcp-common.c,
              respectively.
              (LANG_HOOKS_TREE_SIZE, LANG_HOOKS_FINISH,
              LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_INIT_OPTIONS,
              LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
              LANG_HOOKS_HANDLE_FILENAME, LANG_HOOKS_MISSING_ARGUMENT,
              LANG_HOOKS_POST_OPTIONS, LANG_HOOKS_GET_ALIAS_SET,
              LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_EXPAND_EXPR,
              LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_PARSE_FILE,
              LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, LANG_HOOKS_TRUTHVALUE_CONVERSION,
              LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, LANG_HOOKS_MARK_ADDRESSABLE,
              LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
              LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
              LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_PRINT_ERROR_FUNCTION,
              LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL, LANG_HOOKS_WRITE_GLOBALS,
              LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FINAL,
              LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
              LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
              LANG_HOOKS_ATTRIBUTE_TABLE, LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
              LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
              LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS,
              LANG_HOOKS_TREE_INLINING_AUTO_VAR_IN_FN_P,
              LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
              LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P,
              LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
              LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN, LANG_HOOKS_EXPR_SIZE,
              LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR,
              LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_MAKE_TYPE,
              LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE,
              LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
              LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE, LANG_HOOKS_INCOMPLETE_TYPE_ERROR,
              LANG_HOOKS_TYPE_PROMOTES_TO, LANG_HOOKS_REGISTER_BUILTIN_TYPE,
              LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_FOLD_OBJ_TYPE_REF): Move
              hooks to cp-objcp-common.h.
              (finish_file): New function.
              * cp-objcp-common.c: New file.
              * cp-objcp-common.h: New file.
              * cp-tree.h (cp_finish_file): New prototype.
              * decl.c: Do not include gtype-cp.h.
              * decl2.c (finish_file): Rename to cp_finish_file.
      
      From-SVN: r86837
      Ziemowit Laski committed
  21. 30 Aug, 2004 1 commit
    • call.c (check_dtor_name): Replace abort with gcc_assert or gcc_unreachable. · 8dc2b103
      	* call.c (check_dtor_name): Replace abort with gcc_assert or
      	gcc_unreachable.
      	(build_call, add_builtin_candidate, build_new_op,
      	convert_like_real, build_over_call, in_charge_arg_for_name,
      	source_type, joust): Likewise.
      	* class.c (build_simple_base_path, get_vcall_index,
      	finish_struct_1, instantiate_type, get_enclosing_class,
      	add_vcall_offset_vtbl_entries_1, cp_fold_obj_type_ref): Likewise.
      	* cp-gimplify.c (cp_genericize): Likewise.
      	* cp-lang.c (cp_expr_size, cp_tree_size): Likewise.
      	* cvt.c (cp_convert_to_pointer, ocp_convert): Likewise.
      	* decl.c (poplevel, make_unbound_class_template, reshape_init,
      	check_special_function_return_type, grokdeclarator,
      	grok_op_properties, tag_name, xref_tag, start_preparsed_function,
      	finish_function): Likewise.
      	* decl2.c (grokfield, maybe_emit_vtables):Likewise.
      	* error.c (dump_global_iord, dump_decl, dump_template_decl,
      	language_to_string): Likewise.
      	* except.c (choose_personality_routine): Likewise.
      	* friend.c (do_friend): Likewise.
      	* g++spec.c (lang_specific_driver): Likewise.
      	* init.c (build_zero_init, expand_default_init, build_new_1,
      	build_vec_delete_1, build_vec_init, build_dtor_call): Likewise.
      	* lex.c (retrofit_lang_decl, cp_type_qual_from_rid): Likewise.
      	* mangle.c (add_substitution, write_unscoped_name,
      	write_template_prefix, write_identifier,
      	write_special_name_destructor, write_type, write_builtin_type,
      	write_expression, write_template_param,
      	write_java_integer_type_codes): Likewise.
      	* method.c (implicitly_declare_fn): Likewise.
      
      From-SVN: r86778
      Nathan Sidwell committed
  22. 28 Aug, 2004 1 commit
    • re PR c++/13684 (local static object variable constructed once but ctors and… · 40aac948
      re PR c++/13684 (local static object variable constructed once but ctors and dtors called multiple times on same memory when called in multiple threads)
      
              PR c++/13684
              * cp/decl.c (expand_static_init): Use thread-safety API.
              (register_dtor_fn): Return the call, don't expand it.
              * cp/tree.c (add_stmt_to_compound): New fn.
              (stabilize_call): Use it.
              * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
              (gimple_push_cleanup): Add eh_only parm.
              (gimplify_target_expr): Pass it.
              * c.opt (-fno-threadsafe-statics): New option.
              * c-opts.c (c_common_handle_option): Handle it.
              * c-common.h (flag_threadsafe_statics): Declare it.
              * c-common.c (flag_threadsafe_statics): Record it.
              * doc/invoke.texi: Document it.
              * tsystem.h (_GNU_SOURCE): Define.
              * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
              (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
              (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
              (__gthread_recursive_mutex_init_function): New fn.
              (__gthread_recursive_mutex_lock): New fn.
              (__gthread_recursive_mutex_trylock): New fn.
              (__gthread_recursive_mutex_unlock): New fn.
              * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
              * gthr-win32.h, gthr-vxworks.h: Likewise.
              * gthr.h: Document.
      
              * libsupc++/guard.cc (static_mutex): Internal class implementing a
              recursive mutex which controls initialization of local statics.
              (__gnu_cxx::recursive_init): New exception class.
              (__cxa_guard_acquire): Deal with locking and recursion detection.
              (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
      
      From-SVN: r86687
      Jason Merrill committed
  23. 27 Aug, 2004 1 commit
    • call.c (validate_conversion_obstack): Replace my_friendly_assert with gcc_assert… · 50bc768d
      call.c (validate_conversion_obstack): Replace my_friendly_assert with gcc_assert or gcc_unreachable.
      
      	* call.c (validate_conversion_obstack): Replace
      	my_friendly_assert with gcc_assert or gcc_unreachable.
      	(direct_reference_binding, merge_conversion_sequences,
      	build_user_type_conversion_1, perform_overload_resolution,
      	build_op_delete_call, enforce_access, call_builtin_trap,
      	build_over_call, build_special_member_call, build_new_method_call,
      	initialize_reference): Likewise.
      	* class.c (build_base_path, build_primary_vtable, alter_access,
      	check_bases, update_vtable_entry_for_fn, layout_empty_base,
      	clone_function_decl, adjust_clone_args,
      	type_requires_array_cookie, include_empty_classes,
      	finish_struct_1, resolve_address_of_overloaded_function,
      	instantiate_type, get_vtbl_decl_for_binfo, build_vtt_inits,
      	dfs_build_secondary_vptr_vtt_inits, build_ctor_vtbl_group,
      	accumulate_vtbl_inits, build_vtbl_initializer,
      	build_vbase_offset_vtbl_entries, build_rtti_vtbl_entries): Likewise.
      	* cvt.c (build_up_reference, convert_to_reference): Likewise.
      	* decl.c (poplevel, duplicate_decls, make_typename_type,
      	cxx_init_decl_processing, reshape_init, check_initializer,
      	make_rtl_for_nonlocal_decl, initialize_local_var, cp_finish_decl,
      	expand_static_init, grokfndecl, grokvardecl, build_ptrmem_type,
      	grokdeclarator, copy_fn_p, grok_op_properties, xref_tag,
      	xref_basetypes, start_preparsed_function, save_function_data,
      	finish_function, finish_method, maybe_register_incomplete_var,
      	complete_vars): Likewise.
      	* decl2.c (grok_array_decl, check_member_template,
      	check_classfn, finish_static_data_member_decl, coerce_new_type,
      	coerce_delete_type, import_export_class, decl_needed_p,
      	determine_visibility, import_export_decl, build_cleanup,
      	start_static_initialization_or_destructi, do_static_destruction,
      	prune_vars_needing_no_initialization,
      	build_offset_ref_call_from_tree): Likewise.
      	* error.c (dump_decl, dump_expr): Likewise.
      	* init.c (finish_init_stmts, build_zero_init,
      	expand_virtual_init, expand_default_init, expand_aggr_init_1,
      	build_offset_ref, build_new_1, build_delete, build_vbase_delete):
      	Likewise.
      	* mangle.c (write_method_parms, write_template_args,
      	write_expression, write_template_arg): Likewise.
      	* method.c (make_thunk, finish_thunk, use_thunk): Likewise.
      	* name-lookup.c (pop_binding, begin_scope, leave_scope,
      	resume_scope, push_using_decl, validate_nonmember_using_decl,
      	is_ancestor, poplevel_class, set_inherited_value_binding_p,
      	push_class_level_binding, do_class_using_decl, push_namespace,
      	pop_namespace, add_using_namespace, ambiguous_decl,
      	lookup_namespace_name, lookup_type_current_level,
      	maybe_process_template_type_declaration): Likewise.
      	* parser.c (cp_lexer_peek_nth_token,
      	cp_parser_parse_and_diagnose_invalid_typ,
      	cp_parser_translation_unit, cp_parser_template_id,
      	cp_parser_lookup_name, cp_parser_late_parsing_for_member): Likewise.
      	* pt.c (push_access_scope, finish_member_template_decl,
      	push_inline_template_parms_recursive, add_outermost_template_args,
      	get_innermost_template_args, begin_explicit_instantiation,
      	end_explicit_instantiation, retrieve_specialization,
      	is_specialization_of, is_specialization_of_friend,
      	register_specialization, check_explicit_specialization,
      	comp_template_parms, process_template_parm,
      	process_partial_specialization, convert_nontype_argument,
      	coerce_template_template_parms, coerce_template_parms,
      	mangle_class_name_for_template, lookup_template_function,
      	lookup_template_class, instantiate_class_template, tsubst_decl,
      	tsubst_function_type, tsubst, tsubst_qualified_id, tsubst_copy,
      	instantiate_template, fn_type_unification, type_unification_real,
      	get_template_base, regenerate_decl_from_template,
      	template_for_substitution, instantiate_decl,
      	get_mostly_instantiated_function_type, dependent_scope_ref_p,
      	value_dependent_expression_p, resolve_typename_type): Likewise.
      	* repo.c (repo_emit_p): Likewise.
      	* rtti.c (build_headof, get_tinfo_decl, get_pseudo_ti_init,
      	create_tinfo_types, emit_tinfo_decl): Likewise.
      	* search.c (lookup_base_r, lookup_base, lookup_field_1,
      	dfs_access_in_type, build_baselink, lookup_member,
      	adjust_result_of_qualified_name_lookup, copied_binfo): Likewise.
      	* semantics.c (perform_or_defer_access_check,
      	finish_non_static_data_member, finish_stmt_expr_expr,
      	finish_stmt_expr, finish_call_expr, finish_pseudo_destructor_expr,
      	finish_template_template_parm, finish_member_declaration,
      	emit_associated_thunks): Likewise.
      	* tree.c (build_target_expr_with_type, force_target_expr,
      	copy_binfo, get_first_fn, cp_tree_equal): Likewise.
      	* typeck.c (type_after_usual_arithmetic_conversions, comptypes,
      	cxx_sizeof_or_alignof_type, perform_integral_promotions,
      	build_class_member_access_expr, finish_class_member_access_expr,
      	build_ptrmemfunc_access_expr, build_unary_op,
      	unary_complex_lvalue, cxx_mark_addressable, build_modify_expr,
      	build_ptrmemfunc, expand_ptrmemfunc_cst, check_return_expr
      	* typeck2.c (complete_type_check_abstract,
      	abstract_virtuals_error, process_init_constructor,
      	add_exception_specifier): Likewise.
      
      From-SVN: r86669
      Nathan Sidwell committed
  24. 25 Aug, 2004 1 commit
    • tree.h (build_int_cst): New, sign extended constant. · 7d60be94
      	* tree.h  (build_int_cst): New, sign extended constant.
      	(build_int_cstu): New, zero extended constant.
      	(build_int_cst_wide): Renamed from build_int_cst.
      	* tree.c (build_int_cst, build_int_cstu): New.
      	(build_int_cst_wide): Renamed from build_int_cst.
      	(make_vector_type, build_common_tree_nodes,
      	build_common_tree_nodes_2): Adjust build_int_cst calls.
      	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
      	expand_builtin_strpbrk, expand_builtin_fputs,
      	build_string_literal, expand_builtin_printf,
      	expand_builtin_sprintf, fold_builtin_classify_type,
      	fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
      	fold_builtin_toascii, fold_builtin_isdigit,
      	simplify_builtin_strstr, simplify_builtin_strpbrk,
      	fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
      	* c-common.c (start_fname_decls, fix_string_type, shorten_compare,
      	DEF_ATTR_INT): Likewise.
      	* c-decl.c (complete_array_type, check_bitfield_type_and_width):
      	Likewise.
      	* c-lex.c (interpret_integer, lex_charconst): Likewise.
      	* c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Likewise.
      	* c-typeck.c (really_start_incremental_init, push_init_level,
      	set_nonincremental_init_from_string): Likewise.
      	* calls.c (load_register_parameters): Likewise.
      	convert.c (convert_to_pointer): Likewise.
      	coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
      	build_fn_info_type, build_fn_info_value, build_ctr_info_value,
      	build_gcov_info): Likewise.
      	* except.c (init_eh, assign_filter_values): Likewise.
      	* expmed.c (store_fixed_bit_field, extract_bit_field,
      	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
      	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
      	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
      	* expr.c (convert_move, emit_group_load, emit_group_store,
      	expand_assignment, store_constructor, store_field,
      	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
      	fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
      	invert_truthvalue, optimize_bit_field_compare,
      	decode_field_reference, all_ones_mask_p, constant_boolean_node,
      	fold_div_compare, fold, fold_read_from_constant_string,
      	fold_negate_const, fold_abs_const, fold_not_const, round_up,
      	round_down): Likewise.
      	* function.c (assign_parm_setup_block): Likewise.
      	* stmt.c (shift_return_value, expand_case, estimate_case_costs):
      	Likewise.
      	* stor-layout.c (layout_type, initialize_sizetypes,
      	set_min_and_max_values_for_integral_type): Likewise.
      	* tree-chrec.c (chrec_fold_multiply_poly_poly,
      	reset_evolution_in_loop): Likewise.
      	* tree-chrec.h (build_polynomial_chrec): Likewise.
      	* tree-complex.c (build_replicated_const): Likewise.
      	* tree-eh.c (honor_protect_cleanup_actions,
      	lower_try_finally_onedest, lower_try_finally_copy,
      	lower_try_finally_switch): Likewise.
      	* tree-mudflap.c (mf_build_string, mx_register_decls,
      	mudflap_register_call, mudflap_enqueue_constant): Likewise.
      	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
      	Likewise.
      	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
      	* tree-ssa-loop-niter.c (number_of_iterations_cond,
      	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
      	Likewise.
      	* tree-ssa-loop-ivcanon.c (create_canonical_iv,
      	canonicalize_loop_induction_variables): Likewise.
      	* tree-vectorizer.c (vect_create_index_for_array_ref,
      	vect_transform_loop_bound, vect_compute_data_ref_alignment):
      	Likewise.
      
      	* config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
      	alpha_gimplify_va_arg_1): Likewise.
      	* config/arm/arm.c (arm_get_cookie_size): Likewise.
      	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
      	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
      	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
      	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
      	mips_gimplify_va_arg_expr): Likewise.
      	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
      	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
      	add_compiler_branch_island): Likewise.
      	* config/s390/s390.c (s390_va_start): Likewise.
      	* config/sh/sh.c (sh_va_start): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
      	Likewise.
      	* config/xtensa/xtensa.c (xtensa_va_start,
      	xtensa_gimplify_va_arg_expr): Likewise.
      
      	* objc/objc-act.c (build_objc_string_object,
      	build_objc_symtab_template, init_def_list, init_objc_symtab,
      	init_module_descriptor, generate_static_references,
      	build_selector_translation_table, get_proto_encoding,
      	build_typed_selector_reference, build_selector_reference,
      	build_next_objc_exception_stuff,
      	build_method_prototype_list_template, generate_descriptor_table,
      	generate_protocols, build_protocol_initializer,
      	build_ivar_list_template, build_method_list_template,
      	build_ivar_list_initializer, generate_ivars_list,
      	generate_dispatch_table, generate_protocol_list,
      	build_category_initializer, build_shared_structure_initializer,
      	generate_shared_structures, handle_impent,
      	generate_objc_image_info): Likewise.
      
      2004-04-25  Paolo Bonzini  <bonzini@gnu.org>
      
      	* cfglayout.c (duplicate_insn_chain): Remove references to
      	NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
      	* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
      	* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
      	* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
      	and NOTE_INSN_LOOP_CONT.
      	* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
      	* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
      	and NOTE_INSN_LOOP_CONT.
      	* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
      	check_dbra_loop, loop_dump_aux): Remove references to removed notes
      	and fields.
      	* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
      	* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
      	references to removed notes and fields.
      	(subtract_reg_term, ujump_to_loop_cont): Remove.
      
      From-SVN: r86544
      Nathan Sidwell committed
  25. 16 Aug, 2004 1 commit
  26. 15 Aug, 2004 1 commit
    • tree.h (build_int_cst): New. · 4a90aeeb
      .:	* tree.h (build_int_cst): New.
      	(build_int_2): Remove.
      	* tree.c (build_int_2): Remove.
      	(build_int_cst): New.
      	(make_vector_type, build_common_tree_nodes,
      	build_common_tree_nodes_2): Use build_int_cst.
      	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
      	expand_builtin_strpbrk, expand_builtin_fputs,
      	build_string_literal, expand_builtin_printf,
      	expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
      	fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
      	fold_builtin_isdigit, simplify_builtin_strstr,
      	simplify_builtin_strpbrk, fold_builtin_fputs,
      	simplify_builtin_sprintf): Use build_int_cst.
      	* c-common.c (start_fname_decls, fix_string_type,
      	c_common_nodes_and_builtins, c_init_attributes,
      	shorten_compare): Likewise.
      	* c-decl.c (complete_array_type,
      	check_bitfield_type_and_width): Likewise.
      	* c-lex.c (interpret_integer, lex_charconst): Likewise.
      	* c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Likewise.
      	* c-typeck.c (really_start_incremental_init, push_init_level,
      	set_nonincremental_init_from_string): Likewise.
      	* calls.c (load_register_parameters): Likewise.
      	* convert.c (convert_to_pointer): Likewise.
      	* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
      	build_fn_info_type, build_ctr_info_value, build_gcov_info):
      	Likewise.
      	* except.c (init_eh, assign_filter_values, assign_filter_values):
      	Likewise.
      	* expmed.c (store_fixed_bit_field, extract_bit_field,
      	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
      	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
      	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
      	* expr.c (convert_move, emit_group_load, emit_group_store,
      	expand_assignment, store_constructor, store_field,
      	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
      	* fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
      	invert_truthvalue, optimize_bit_field_compare,
      	decode_field_reference, all_ones_mask_p, constant_boolean_node,
      	fold_div_compare, fold, fold_read_from_constant_string,
      	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
      	* function.c (assign_parm_setup_block): Likewise.
      	* stmt.c (shift_return_value, expand_end_case_type,
      	estimate_case_costs): Likewise.
      	* stor-layout.c (layout_type, initialize_sizetypes,
      	set_min_and_max_values_for_integral_type): Likewise.
      	* tree-chrec.c (chrec_fold_multiply_poly_poly,
      	reset_evolution_in_loop): Likewise.
      	* tree-chrec.h (build_polynomial_chrec): Likewise.
      	* tree-complex.c (build_replicated_const): Likewise.
      	* tree-eh.c (honor_protect_cleanup_actions,
      	lower_try_finally_onedest, lower_try_finally_copy,
      	lower_try_finally_switch): Likewise.
      	* tree-mudflap.c (mf_build_string, mx_register_decls,
      	mudflap_register_call, mudflap_enqueue_constant): Likewise.
      	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
      	Likewise.
      	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
      	* tree-ssa-loop-niter.c (number_of_iterations_cond,
      	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
      	Likewise.
      
      	* config/alpha/alpha.c (alpha_initialize_trampoline,
      	alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
      	* config/arm/arm.c (arm_get_cookie_size): Likewise.
      	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
      	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
      	* config/i860/i860.c (i860_va_start): Likewise.
      	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
      	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
      	mips_gimplify_va_arg_expr): Likewise.
      	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
      	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
      	add_compiler_branch_island): Likewise.
      	* config/s390/s390.c (s390_va_start): Likewise.
      	* config/sh/sh.c (sh_va_start): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
      	Likewise.
      	* config/xtensa/xtensa.c (xtensa_va_start,
      	xtensa_gimplify_va_arg_expr): Likewise.
      
      	* objc/objc-act.c (build_objc_string_object,
      	build_objc_symtab_template, init_def_list, init_objc_symtab,
      	init_module_descriptor, generate_static_references,
      	build_selector_translation_table, get_proto_encoding,
      	build_typed_selector_reference, build_selector_reference,
      	build_next_objc_exception_stuff,
      	build_method_prototype_list_template, generate_descriptor_table,
      	generate_protocols, build_protocol_initializer,
      	build_ivar_list_template, build_method_list_template,
      	build_ivar_list_initializer, generate_ivars_list,
      	generate_dispatch_table, generate_protocol_list,
      	build_category_initializer, build_shared_structure_initializer,
      	generate_shared_structures, handle_impent,
      	generate_objc_image_info): Use build_int_cst.
      ada:
      	* cuintp.c (UI_To_gnu): Use build_int_cst..
      	* trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
      	* utils.c (init_gigi_decls): Likewise.
      	* utils2.c (build_call_raise): Likewise.
      cp:
      	* call.c (convert_class_to_reference,
      	build_user_type_conversion_1, convert_like_real,
      	build_java_interface_fn_ref, build_special_member_call): Use
      	build_int_cst.
      	* class.c (build_vtbl_initializer): Likewise.
      	* cp-gimplify.c (cp_gimplify_expr): Likewise.
      	* cvt.c (cp_convert_to_pointer): Likewise.
      	* decl.c (cxx_init_decl_processing, complete_array_type): Likewise.
      	* decl2.c (start_static_initialization_or_destruction,
      	generate_ctor_or_dtor_function): Likewise.
      	* except.c (build_throw): Likewise.
      	* lex.c (cxx_init): Likewise.
      	* mangle.c (write_integer_cst): Likewise.
      	* rtti.c (build_headof, get_tinfo_decl_dynamic,
      	build_dynamic_cast_1, ptr_initializer, ptm_initializer,
      	get_pseudo_ti_init): Likewise.
      	* search.c (get_dynamic_cast_base_type): Likewise.
      	* tree.c (build_shared_int_cst): Likewise.
      fortran:
      	* trans-array.c (gfc_trans_array_constructor_value): Use
      	build_int_cst.
      	* trans-const.c (gfc_build_string_const,
      	gfc_init_constants, gfc_conv_mpz_to_tree,
      	gfc_conv_constant_to_tree): Likewise.
      	* trans-decl.c (gfc_get_symbol_decl): Likewise.
      	* trans-intrinsic.c (gfc_conv_intrinsic_ibits,
      	gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
      	* trans-io.c (add_case, set_error_locus, build_dt,
      	transfer_expr): Likewise.
      	* trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
      	gfc_trans_stop, gfc_trans_character_select): Likewise.
      	* trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
      	* trans.c (gfc_trans_runtime_check): Likewise.
      java:
      	* boehm.c (get_boehm_type_descriptor): Use build_int_cst.
      	* class.c (build_utf8_ref, build_static_field_ref,
      	make_field_value, make_method_value, get_dispatch_table,
      	make_class_data, emit_symbol_table, emit_catch_table): Likewise.
      	* constants.c (get_tag_node,  build_ref_from_constant_pool,
      	build_constants_constructor): Likewise.
      	* decl.c (java_init_decl_processing): Likewise.
      	* expr.c (build_java_array_length_access, build_newarray,
      	expand_java_multianewarray, expand_java_pushc, expand_iinc,
      	build_java_binop, build_field_ref, expand_java_add_case,
      	expand_java_call, build_known_method_ref, build_invokevirtual,
      	build_invokeinterface, build_jni_stub): Likewise.
      	* java-gimplify.c (java_gimplify_new_array_init): Likewise.
      	* jcf-parse.c (get_constant): Likewise.
      	* lex.c (do_java_lex): Likewise.
      	* parse.y (patch_binop, patch_unaryop, patch_cast,
      	build_null_of_type, patch_newarray): Likewise.
      	* resource.c (compile_resource_data): Likewise.
      	* typeck.c (build_prim_array_type): Likewise.
      
      From-SVN: r86022
      Nathan Sidwell committed
  27. 06 Aug, 2004 1 commit
    • tree.c (handle_dll_attribute): Move here from i383/winnt.c. · b2ca3702
      	* tree.c (handle_dll_attribute): Move here from i383/winnt.c.
      	Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P.  Set
      	DECL_VISIBLITY.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
      	* tree.h (handle_dll_attribute): Declare.  Test
      	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
      	* c-common.h (c_determine_visibility): Declare.
      	* c-common.c (c_determine_visibility): New function.
      	* c-decl.c (finish_decl): Use it.
      	(finish_function): Likewise.
      	* defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
      	zero, by default.  Use #if, not	#ifdef, to test it.
      	* config/arm/arm.c (arm_attribute_table): Use
      	handle_dll_attribute.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
      	#if.
      	* config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
      	* config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
      	to 1.
      	* config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
      	* config/i386/i386.c (ix86_attribute_table): Use
      	handle_dll_attribute for dllimport/dllexport.  Test
      	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
      	* config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
      	* config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
      	it to 1.
      	* config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
      	with #if.
      	* config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
      	it to 1.
      	* doc/extend.texi (dllexport): Clarify and correct documentation.
      	(dllimport): Likewise.
      	* doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
      	handle_dll_attribute.
      
      	* decl.c (start_preparsed_function): Move determine_visibility
      	call.
      	* decl2.c (determine_visibility): Incorporate dllexport testing.
      
      	* g++.dg/ext/visibility/assign1.C: Use scan-hidden and
      	dg-require-visiblity.
      	* g++.dg/ext/visibility/fvisibility-inlines-hidden.C: Likewise.
      	* g++.dg/ext/visibility/fvisibility.C: Likewise.
      	* g++.dg/ext/visibility/memfuncts.C: Likewise.
      	* g++.dg/ext/visibility/new1.C: Likewise.
      	* g++.dg/ext/visibility/pragma.C: Likewise.
      	* g++.dg/ext/visibility/staticmemfuncts.C: Likewise.
      	* g++.dg/ext/visibility/virtual.C: Likewise.
      	* g++/dg/ext/visibility/visibility-1.C: Likewise.
      	* g++/dg/ext/visibility/visibility-2.C: Likewise.
      	* g++/dg/ext/visibility/visibility-3.C: Likewise.
      	* g++/dg/ext/visibility/visibility-4.C: Likewise.
      	* g++/dg/ext/visibility/visibility-5.C: Likewise.
      	* g++/dg/ext/visibility/visibility-6.C: Likewise.
      	* g++/dg/ext/visibility/visibility-7.C: Likewise.
      	* g++/dg/ext/visibility/visibility-8.C: New test.
      	* gcc.c-torture/compile/dll.x: Remove.
      	* gcc.dg/dll-2.c: Use dg-require-dll
      	* gcc.dg/visibility-10.c: New test.
      	* lib/gcc-dg.exp (dg-require-dll): Add Symbian to list of targets
      	supporting DLLs.
      	* testsuite/lib/scanasm.exp (scan_hidden): New function.
      	(scan_not_hidden): Likewise.
      
      From-SVN: r85621
      Mark Mitchell committed
  28. 05 Aug, 2004 1 commit
    • re PR c/14516 (-fleading-underscore does not work correctly for file static variables) · 0e6df31e
      2004-08-04  Geoffrey Keating  <geoffk@apple.com>
      
      	PR 14516
      	* c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
      	* c-common.h (make_rtl_for_local_static): Delete.
      	* c-decl.c (shadow_tag_warned): Clean up comment.
      	(finish_decl): Clean up spacing.  Use set_user_assembler_name when
      	appropriate.  Don't pass asmspec to rest_of_decl_compilation.
      	* c-semantics.c (make_rtl_for_local_static): Delete.
      	* expr.c (init_block_move_fn): Use set_user_assembler_name.
      	(init_block_clear_fn): Likewise.
      	* passes.c (rest_of_decl_compilation): Remove asmspec parameter,
      	expect it to be in DECL_ASSEMBLER_NAME.  Update callers in many files.
      	* toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
      	* tree.h (make_decl_rtl): Remove second parameter.
      	(set_user_assembler_name): New.
      	* varasm.c (set_user_assembler_name): New.
      	(make_decl_rtl): Remove second parameter.  Update callers in many
      	files.
      
      Index: cp/ChangeLog
      2004-08-04  Geoffrey Keating  <geoffk@apple.com>
      
      	* decl.c (make_rtl_for_nonlocal_decl): Set DECL_ASSEMBLER_NAME rather
      	than passing it as a parameter to rest_of_decl_compilation.
      	* decl2.c (grokfield): Use set_user_assembler_name.
      
      From-SVN: r85593
      Geoffrey Keating committed
  29. 04 Aug, 2004 1 commit
    • class.c (build_vtable): Do not set DECL_VISIBILITY here. · 73a8adb6
      	* class.c (build_vtable): Do not set DECL_VISIBILITY here.
      	(check_field_decls): Or here.
      	(check_methods): Or here.
      	(initialize_array): Don't mess with DECL_CONTEXT.
      	* cp-tree.h (start_decl): Adjust prototype.
      	(determine_visibility): New function.
      	* decl.c (duplicate_decls): Remove checks for hidden "operator
      	new".
      	(build_library_fn_1): Give all library functions default
      	visibility.
      	(start_decl): Add pop_scope_p parameter.  Tidy.
      	(cp_finish_decl): Do not pop scopes here.  Call
      	determine_visibility for variable definitions.
      	(start_preparsed_function): Call determine_visibility.
      	* decl2.c (determine_visibility): New function.
      	* method.c (use_thunk): Fix formatting.
      	* parser.c (cp_parser_condition): Adjust calls to start_decl.
      	(cp_parser_init_declarator): Likewise.
      	* pt.c (instantiate_decl): Always call pop_nested_class.
      	* rtti.c (get_tinfo_decl): Do not set DECL_VISIBILITY.
      	(tinfo_base_init): Likewise.
      
      	* g++.dg/ext/visibility/assign1.C: New test.
      	* g++.dg/ext/visibility/new1.C: Likewise.
      
      From-SVN: r85543
      Mark Mitchell committed
  30. 29 Jul, 2004 1 commit
    • c-common.h (lang_post_pch_load): New variable. · 4684cd27
      	* c-common.h (lang_post_pch_load): New variable.
      	* c-pch.c (lang_post_pch_load): Define it.
      	(c_common_read_pch): Use it.
      	* cgraphunit.c (record_call_1): Give the front end a chance to
      	record additional needed entities when a variable is marked as
      	needed.
      	* tlink.c (recompile_files): Robustify.
      	(scan_linker_output): If a symbol is assigned to a file,
      	but after recompilation is not present there, issue an error
      	message.
      
      	* cp-tree.h (IDENTIFIER_REPO_CHOSEN): Define.
      	(lang_decl_flags): Narrow the width of "languages".  Add
      	repo_available_p.
      	(DECL_NEEDED_P): Remove.
      	(FOR_EACH_CLONE): New macro.
      	(DECL_REPO_AVAILABLE_P): Likewise.
      	(DECL_TINFO_P): Likewise.
      	(set_linkage_according_to_type): Declare.
      	(import_export_vtable): Remove.
      	(import_export_tinfo): Likewise.
      	(mark_needed): New function.
      	(decl_needed_p): Likewise.
      	(note_vauge_linkage_fn): Likewise.
      	(init_repo): Change prototype.
      	(repo_template_used): Remove.
      	(repo_template_instantiated): Likewise.
      	(repo_emit_p): New function.
      	(repo_export_class_p): Likewise.
      	(no_linkage_check): Change prototype.
      	* class.c (set_linkage_according_to_type): New function.
      	(build_vtable): Use it.  Do not call import_export_vtable.  Set
      	DECL_IGNORED_P if appropriate.
      	* decl.c (duplicate_decls): Preserve DECL_REPO_AVAILABLE_P.
      	(make_rtL_for_nonlocal_decls): Check for template instantiations
      	explicitly.
      	(grokfndecl): Adjust call to no_linkage_check.
      	(set_linkage_for_static_data_member): New function.
      	(grokvardecl): Use it.  Adjust call to no_linkage_check.
      	(grokdeclarator): Use set_linkage_for_static_data_member.
      	* decl2.c (note_vague_linkage_fn): New function.
      	(note_vague_linkage_var): Likewise.
      	(finish_static_data_member_decl): Use it.
      	(import_export_vtable): Remove.
      	(import_export_class): Use repo_export_class_p.
      	(var_finalized_p): Simplify.
      	(maybe_emit_vtables): Simplify.
      	(mark_needed): New function.
      	(decl_needed_p): Likewise.
      	(import_export_decl): Add documentation and consistency checks.
      	Use repo_emit_p.  Handle virtual tables and RTTI information
      	here.
      	(import_export_tinfo): Remove.
      	(write_out_vars): Call import_export_decl.
      	(cxx_callgraph_analyze_expr): Ensure that all vtables are emitted
      	whenever one is.
      	(finish_file): Use decl_needed_p.  Do not call import_export_decl
      	for undefined static data members.  Do not warn about undefined
      	inlines when using a repository.
      	(mark_used): Use note_vague_linkage_fn.  Always defer template
      	instantiations.
      	* lex.c (cxx_init): Adjust call to init_repo.  Always set
      	flag_unit_at_a-time.
      	* method.c (synthesize_method): Remove unncessary
      	import_export_decl call.
      	(implicitly_declare_fn): Use set_linkage_according_to_type.
      	* optimize.c (maybe_clone_body): Use FOR_EACH_CLONE.
      	* pt.c (instantiate_class_template): Don't redundantly add classes
      	to keyed_classes.  Don't call repo_template_used.
      	(tsubst_decl): Set DECL_INTERFACE_KNOWN for instantiations of
      	templates with internal linkage.
      	(check_instantiated_args): Adjust call to no_linkage_check.
      	(instantiate_template): Use FOR_EACH_CLONE.
      	(mark_definable): New function.
      	(mark_decl_instantiated): Use it.
      	(do_decl_instantiation): Adjust tests for explicit instantiation
      	after "extern template".
      	(instantiate_class_member): Do not use repo_template_instantiated.
      	(do_type_instantiation): Simplify.
      	(instantiate_decl): Use mark_definable.  Check repo_emit_p.
      	Simplify.
      	* repo.c (repo_get_id): Remove.
      	(original_repo): Remove.
      	(IDENTIFIER_REPO_USED): Remove.
      	(IDENTIFIER_REPO_CHOSEN): Remove.
      	Remove all #if 0'd code.
      	(repo_template_used): Remove.
      	(repo_template_instantiated): Remove.
      	(temporary_obstack_initialized_p): New variable.
      	(init_repo): Register with lang_post_pch_load.  Avoid creating
      	identifiers unnecessarily.  Don't use original_repo.  Close the
      	file here.
      	(reopen_repo_file_for_write): Not here.
      	(finish_repo): Always write out a new repository file.
      	(repo_emit_p): New function.
      	(repo_export_class_p): Likewise.
      	* rtti.c (get_tinfo_decl): Use set_linkage_according_to_type.
      	(involves_incomplete_p): New function.
      	(tinfo_base_init): Use it.
      	(ptr_initializer): Remove non_public_ptr parameter.
      	(ptm_initializer): Likewise.
      	(get_pseudo_ti_init): Likewise.
      	(unemitted_tinfo_decl_p): Remove.
      	(emit_tinfo_decl): Use import_export_decl.
      	* semantics.c (expand_body): Move updates of static_ctors and
      	static_dtors to ...
      	(expand_or_defer_fn): ... here.
      	* tree.c (no_linkage_check): Add relaxed_p parameter.
      
      	* g++.dg/abi/inline1.C: New test.
      	* g++.dg/abi/local1-a.cc: Likewise.
      	* g++.dg/abi/local1.C: Likewise.
      	* g++.dg/abi/mangle11.C: Tweak location of warnings.
      	* g++.dg/abi/mangle12.C: Likewise.
      	* g++.dg/abi/mangle17.C: Likewise.
      	* g++.dg/abi/mangle20-2.C: Likewise.
      	* g++.dg/opt/interface1.C: Likewise.
      	* g++.dg/opt/interface1.h: Likewise.
      	* g++.dg/opt/interface1-a.cc: New test.
      	* g++.dg/parse/repo1.C: New test.
      	* g++.dg/template/repo1.C: Likewise.
      	* g++.dg/warn/Winline-1.C: Likewise.
      	* lib/gcc-dg.exp (gcc-dg-test-1): Fix -frepo handling.
      
      From-SVN: r85309
      Mark Mitchell committed
  31. 18 Jul, 2004 1 commit
    • c-common.c (c_common_truthvalue_conversion): Don't warn if TREE_NO_WARNING is set. · 31ec7d2f
      	* c-common.c (c_common_truthvalue_conversion): Don't warn if
      	TREE_NO_WARNING is set.
      
      cp/
      	* 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.
      
      Co-Authored-By: Joseph Myers <jsm@polyomino.org.uk>
      
      From-SVN: r84903
      Steven Bosscher committed
  32. 17 Jul, 2004 1 commit
    • class.c (finish_struct_methods): Remove unncessary code. · 508a1c9c
      	* 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.
      
      From-SVN: r84851
      Mark Mitchell committed
  33. 16 Jul, 2004 1 commit
    • vec.h (VEC_address): New function. · aaaa46d2
      	* vec.h (VEC_address): New function.
      
      	* 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.
      
      From-SVN: r84796
      Mark Mitchell committed
  34. 11 Jul, 2004 1 commit
  35. 01 Jul, 2004 1 commit
  36. 30 Jun, 2004 1 commit
    • Conditionally compile support for --enable-mapped_location. · 93409b8c
      	* decl.c (pop_label):  Handle (imperfectly) USE_MAPPED_LOCATION case.
      	* decl2.c:  If USE_MAPPED_LOCATION, don't do some line number
      	adjustments - which I don't understand.
      	* error.c (dump_decl):  Rename "<interrnal>" to "<built-in>".
      	* error.c:  Use LOCATION_FILE and EXPR_LOCATION macros.
      	(print_instantiation_partial_context):  Use expand_location.
      	* decl.c (duplicate_decl):  Use new DECL_IS_BUILTIN macro.
      	* name-lookup.c:  Likewise.
      	* lex.c (cxx_init):  Likewise.  Also use BUILTINS_LOCATION.
      	* name-lookup.c:  Use input_line macro.
      	* parser.c (cp_lexer_get_preprocessor_token):  Use UNKNOWN_LOCATION.
      	(cp_parser_statement):  Rename locaal variable statement_locus to
      	statement_location and use SET_EXPR_LOCATION macro.
      	* pt.c:  Handle USE_MAPPED_LOCATION case.  Use new macros.
      	* tree.c (cp_walk_subtrees):  Likewise.
      
      From-SVN: r83923
      Per Bothner committed
  37. 27 Jun, 2004 1 commit
    • cp-tree.h (cp_cv_quals): New type. · 3c01e5df
      	* cp-tree.h (cp_cv_quals): New type.
      	(cp_declarator): Use it instead of "tree" as appropriate.
      	(grok_method_quals): Adjust prototype.
      	(grokclassfn): Likewise.
      	(do_friend): Likewise.
      	* decl.c (grokfndecl): Use cp_cv_quals, not tree.
      	(grokdeclarator): Likewise.
      	* decl2.c (grok_method_quals): Likewise.
      	(grokclassfn): Likewise.
      	* friend.c (do_friend): Likewise.
      	* method.c (implicitly_declare_fn): Adjust call to grokclassfn.
      	* parser.c (make_call_declarator): Use cp_cv_quals, not tree.
      	(make_pointer_declarator): Likewise.
      	(make_reference_declarator): Likewise.
      	(make_ptrmem_declarator): Likewise.
      	(cp_parser_ptr_operator): Likewise.
      	(cp_parser_cv_qualifier_seq_opt): Likewise.
      	(cp_parser_cv_qualifier_opt): Remove.
      	(cp_parser_new_declarator_opt): Adjust call to
      	cp_parser_ptr_operator.
      	(cp_parser_conversion_declaration_opt): Likewise.
      	(cp_parser_declarator): Use cp_cv_quals, not tree.
      	(cp_parser_direct_declarator): Likewise.
      
      From-SVN: r83729
      Mark Mitchell committed
  38. 26 Jun, 2004 1 commit
    • c-common.c (c_safe_from_p, [...]): Deleted. · 350fae66
      2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
      
              * c-common.c (c_safe_from_p, c_walk_subtrees): Deleted.
              * c-common.def (DECL_STMT): Remove.
              * c-common.h (DECL_STMT_DECL): Deleted.
              (COMPOUNT_LITERAL_EXPR_DECL): Use DECL_EXPR_DECL.
              (c_safe_from_p, c_walk_subtrees): Deleted.
              * c-decl.c, c-parse.in, c-pretty-print.c: DECL_STMT now DECL_EXPR.
              * c-dump.c (c_dump_tree, case DECL_STMT): Deleted.
              * c-gimplify.c (gimplify_decl_stmt): Deleted.
              (gimplify_compound_literal_expr): Use DECL_EXPR_DECL
              and gimplify_and_add.
              (c_gimplify_expr, case DECL_EXPR): New case.
              (c_gimplify_expr, case DECL_STMT): Deleted.
              * c-lang.c (LANG_HOOKS_SAFE_FROM_P): Likewise.
              (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
              * expr.c (safe_from_p, case 's'): New case.
              * gimplify.c (gimplify_decl_expr): New function.
              (gimplify_expr, case DECL_EXPR): New case.
              * tree-inline.c (walk_tree): Walk into all fields of a type and
              decl only if they are in a DECL_EXPR.
              (mark_local_for_remap_r): Minor code cleanup.
              * tree-outof-ssa.c (discover_nonconstant_array_refs_r): Add else.
              * tree.c (has_cleanups, case DECL_EXPR): New case.
              * tree.def (DECL_EXPR): New code.
              * tree.h (DECL_EXPR_DECL): New macro.
      
              * objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted.
      
      From-SVN: r83721
      Richard Kenner committed