1. 13 Jul, 2005 3 commits
    • tm.texi: Remove @xref{Cross-profiling}. · 709a840a
      2005-07-13  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* doc/tm.texi: Remove @xref{Cross-profiling}.
      
      From-SVN: r101979
      H.J. Lu committed
    • linux.h (TARGET_HAS_F_SETLKW): Renamed to ... · 4969c0d8
      2005-07-13  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/alpha/linux.h (TARGET_HAS_F_SETLKW): Renamed to ...
      	(TARGET_POSIX_IO): This.
      	* config/darwin.h: Likewise.
      	* config/freebsd.h: Likewise.
      	* config/linux.h: Likewise.
      	* config/lynx.h: Likewise.
      	* config/netbsd.h: Likewise.
      	* config/rs6000/linux64.h: Likewise.
      	* config/rs6000/linux.h: Likewise.
      	* config/s390/tpf.h: Likewise.
      	* config/sh/embed-elf.h: Likewise.
      	* config/sparc/linux64.h: Likewise.
      	* config/sparc/linux.h: Likewise.
      	* config/svr4.h: Likewise.
      	* gcov-io.h: Likewise.
      
      	* doc/tm.texi: Updated.
      
      	* libgcov.c (create_file_directory): Defined only if
      	TARGET_POSIX_IO is defined.
      	(gcov_exit): Call create_file_directory only if TARGET_POSIX_IO
      	is defined.
      
      From-SVN: r101973
      H.J. Lu committed
    • re PR rtl-optimization/20376 (The missed-optimization of general induction… · 7869fe47
      re PR rtl-optimization/20376 (The missed-optimization of general induction variables in the new rtl-level loop optimizer cause performance degradation.)
      
      	PR rtl-optimization/20376
      	* toplev.c (process_options): Enable -fweb and -frename-registers when
      	unrolling.
      	* doc/invoke.texi: Update the information about when -fweb and
      	-frename-registers are enabled.
      
      From-SVN: r101961
      Zdenek Dvorak committed
  2. 12 Jul, 2005 2 commits
  3. 11 Jul, 2005 3 commits
    • tree-ssa.texi (Cleanups): Improve description of TRY_FINALLY_EXPR. · 2f6bd539
      	* doc/tree-ssa.texi (Cleanups): Improve description of
      	TRY_FINALLY_EXPR.
      	(GIMPLE Exception Handling): Clarify TRY_CATCH_EXPR cases.
      
      From-SVN: r101895
      Ian Lance Taylor committed
    • bfin.md (define_attr "type"): Add "sync". · 3fb192d2
      	* config/bfin/bfin.md (define_attr "type"): Add "sync".
      	(define_insn_reservation "alu"): Likewise.
      	(csync, ssync): Now of type sync.
      	* config/bfin/bfin.h (TARGET_DEFAULT): Defaults to
      	-mcsync-anomaly -mspecld-anomaly.
      	* config/bfin/bfin.opt (mcsync): Remove.
      	(mcsync-anomaly, mspecld-anomaly): Add.
      	* config/bfin/bfin.c: Include "insn-codes.h".
      	(bfin_reorg): Extend to handle the CSYNC anomaly as well.
      	(TARGET_DEFAULT_TARGET_FLAGS): New.
      	* doc/invoke.texi: Document -mcsync-anomaly, -mspecld-anomaly.
      
      From-SVN: r101880
      Bernd Schmidt committed
    • i386.opt: New target option -msseregparm. · 1f97667f
      2005-07-11  Richard Guenther  <rguenther@suse.de>
      
      	* config/i386/i386.opt: New target option -msseregparm.
      	* config/i386/i386.c (override_options): Error out for
      	-msseregparm but no SSE support.
      	(ix86_function_sseregparm): Check for global sseregparm.
      	* doc/invoke.texi: Document -msseregparm.
      
      From-SVN: r101871
      Richard Guenther committed
  4. 08 Jul, 2005 3 commits
    • Makefile.in (TREE_H): Add treestruct.def. · 820cc88f
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* Makefile.in (TREE_H): Add treestruct.def.
      	(c-decl.o): Add pointer-set.h
      	* c-decl.c (diagnose_mismatched_decls): Don't attempt to look at
      	visibility on regular DECL's.
      	(merge_decls): Fix the copying of decl nodes of various types for
      	the new structures.  Don't update RTL, section name, weak status,
      	etc, on DECL's without RTL.
      	(grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
      	Don't check volatile on non-variable types.
      	(store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
      	to check whether we have seen arguments.
      	* c-objc-common.c (c_tree_printer): Reverse order of tests so that
      	flag is checked before field (flag is common, field is not).
      	* dwarf2out.c (decl_ultimate_origin):  Only DECL's with
      	TS_DECL_COMMON could have an origin.
      	(add_location_or_const_value_attribute): Don't check section name
      	on non-var/function decls.
      	(dwarf2out_var_location): Reverse order of tests.
      	* emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace
      	with DECL_WRTL_CHECK.
      	* expmed.c (make_tree): rtl is now in decl_with_rtl.
      	* fold-const.c (fold_binary): Don't check weakness on
      	non-var/function decls.
      	(tree_expr_nonzero_p): Ditto.
      	(fold_checksum_tree): Use tree_decl_extra as sizeof
      	buffer.
      	* ggc-page.c (extra_order_size_table): Add sizes for
      	tree_decl_non_common, tree_parm_decl,  tree_var_decl, and
      	tree_field_decl.
      	* gimplify.c (gimplify_bind_expr): Only set
      	DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL.
      	* integrate.c (copy_decl_for_inlining): Don't set RTL on decl's
      	without RTL.
      	* langhooks-def.h (LANG_HOOK_INIT_TS): New.
      	* langhooks.h (init_ts). New langhook.
      	* passes.c (rest_of_decl_compilation): Reverse order of tests.
      	* print-tree.c (print_node): Update to only print fields that
      	exist in the structures the passed decl has.
      	* toplev.c (wrapup_global_declarations): Don't reset
      	DECL_DEFER_OUTPUT on DECL's that don't contain it.
      	* tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed.
      	* tree-inline.c (remap_decl): Ditto.
      	* tree-outof-ssa.c (create_temp): Reverse order of tests.
      	* tree-pretty-print.c (print_declaration): Don't print
      	DECL_REGISTER on things that don't contain it.
      	* tree-vrp.c (expr_computes_nonzero): Don't check weakness on
      	non-var/function decls.
      	* tree.c (tree_contains_struct): New structure.
      	(init_priority_for_decl): New hashtable.
      	(tree_int_map): New structure.
      	(tree_int_map_eq): New function.
      	(tree_int_map_marked_p): Ditto.
      	(tree_int_map_hash): Ditto.
      	(tree_map): Move to tree.h.
      	(tree_map_eq): Externalize.
      	(tree_map_hash): Ditto.
      	(tree_map_marked_p): Ditto.
      	(init_ttree): Set up tree_contains_struct and call langhook.
      	(decl_assembler_name): Use DECL_NON_COMMON_CHECK..
      	(tree_code_size): Update for new structures.
      	(tree_node_structure): Update for new structures.
      	(make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls
      	without the field.
      	(copy_node_stat):  Copy init priority.
      	(build_decl_stat): Ditto for visibility.
      	(ts_enum_names): New.
      	(tree_contains_struct_check_failed): New function.
      	(decl_init_priority_lookup): Ditto.
      	(decl_init_priority_insert): Ditto.
      	* treestruct.def: New file.
      	* tree.h (CODE_CONTAINS_STRUCT): New macro.
      	(CONTAINS_STRUCT_CHECK): Ditto.
      	(tree_contains_struct_check_failed): New prototype.
      	(DECL_CHECK): Removed.
      	(DECL_MINIMAL_CHECK): New.
      	(DECL_COMMON_CHECK): Ditto.
      	(DECL_WRTL_CHECK): Ditto.
      	(DECL_NON_COMMON_CHECK): Ditto.
      	(DECL_WITH_VIS_CHECK): Ditto.
      	(VAR_OR_FUNCTION_DECL_P): Ditto
      	(struct tree_decl_minimal): New structure.
      	(struct tree_decl_common): Ditto.
      	(struct tree_decl_with_rtl): Ditto.
      	(struct tree_decl_with_vis): Ditto.
      	(struct tree_decl_non_common): Ditto.
      	(struct tree_field_decl): Ditto.
      	(struct tree_parm_decl): Ditto.
      	(struct tree_var_decl): Ditto.
      	(struct tree_function_decl): Ditto.
      	(struct tree_const_decl): Ditto.
      	(struct tree_result_decl): Ditto.
      	(union tree_node): Add new structures.
      	* var-tracking.c (track_expr_p): Reverse order of tests.
      
      	* doc/c-tree.texi: Add documentation on DECL node internal structure.
      
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
      	removed.
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* Make-lang.in: Add gt-cp-lang.h.
      	(cp-lang.o): Ditto.
      	* class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on
      	the field.
      	* config-lang.in: Add cp-lang.c to gtfiles.
      	* cp-lang.c: Include hashtab.h.
      	(cp_init_ts): New function.
      	(LANG_HOOK_INIT_TS): Use macro.
      	(decl_shadowed_for_var_lookup): New function.
      	(decl_shadowed_for_var_insert): Ditto.
      	* cp-tree.h (THUNK_FUNCTION_CHECK): Use decl_common.
      	(NON_THUNK_FUNCTION_CHECK): Ditto.
      	(DECL_NAMESPACE_ASSOCIATIONS): Use decl_non_common.
      	(DECL_INIT_PRIORITY): Ditto.
      	(DECL_HAS_SHADOWED_FOR_VAR_P): Ditto.
      	(DECL_SHADOWED_FOR_VAR): Use hashtable.
      	(SET_DECL_SHADOWED_FOR_VAR): Ditto.
      	* decl.c (duplicate_decls): Update for new/updated structures.
      	(poplevel): Use SET_DECL_SHADOWED_FOR_VAR.
      	* decl2.c (start_static_initialization_or_destruction): Deal with
      	priority.
      	* pt.c (tsubst_decl): Check TS_DECL_WRTL before doing
      	SET_DECL_RTL.
      	* tree.c (handle_init_priority_attribute): Handle priority.
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is
      	removed.
      	* objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common.
      	(KEYWORD_KEY_NAME): Use decl_minimal.
      	(METHOD_SEL_NAME): Ditto..
      	(METHOD_SEL_ARGS): Use decl_non_common.
      	(METHOD_ADD_ARGS): Ditto.
      	(METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common.
      	(METHOD_DEFINITION): Ditto.
      	(METHOD_ENCODING): Ditto.
      	* objc-lang.c: (objc_init_ts): New function.
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN
      	is removed.
      
      From-SVN: r101799
      Daniel Berlin committed
    • cfgexpand.c (tree_expand_cfg): Don't use FINALIZE_PIC. · c249f608
      	* cfgexpand.c (tree_expand_cfg): Don't use FINALIZE_PIC.
      	* system.h: Poison FINALIZE_PIC.
      	* doc/tm.texi (FINALIZE_PIC): Remove.
      
      From-SVN: r101794
      Kazu Hirata committed
    • Index: ChangeLog · ed5b9f96
      2005-07-07  Geoffrey Keating  <geoffk@apple.com>
      
      	* config.gcc (*-*-darwin*): Only one target-specific header file
      	for generic darwin.
      	(powerpc-*-darwin*): Add version-specific header files.
      	* configure.in (gcc_AC_CHECK_DECLS): Add strverscmp.
      	* config.in: Regenerate.
      	* configure: Regenerate.
      	* gcc.c: Include xregex.h.
      	(version_compare_spec_function): New.
      	(spec_function): Add version-compare.
      	(replace_outfile_spec_function): Reformat comment.
      	(compare_version_strings): New.
      	* config/darwin-c.c (version_as_macro): New.
      	(builtin_define): New.
      	(darwin_cpp_builtins): New.
      	* config/darwin-protos.h (darwin_cpp_builtins): New.
      	* config/darwin.h (CPP_SPEC): Don't define APPLE_CC here.
      	(LIB_SPEC): Make unconditional, update comment.
      	(TARGET_C99_FUNCTIONS): Define.
      	* config/darwin.opt: Sort.
      	(mmacosx-version-min=): New.
      	* config/darwin7.h: Delete.
      	* config/darwin8.h: Delete.
      	* config/i386/darwin.h (): Call darwin_cpp_builtins.
      	* config/rs6000/darwin.h (): Call darwin_cpp_builtins.
      	(TARGET_C99_FUNCTIONS): Define.
      	* config/rs6000/darwin7.h: New.
      	* config/rs6000/darwin8.h: New.
      	* doc/invoke.texi (Darwin Options): Add -mmacosx-version-min=
      	(-mmacosx-version-min): Document.
      
      Index: testsuite/ChangeLog
      2005-07-07  Geoffrey Keating  <geoffk@apple.com>
      
      	* gcc.dg/darwin-version-1.c: New.
      	* gcc.dg/builtins-18.c: On Darwin, needs -mmacosx-version-min=10.3.
      	* gcc.dg/builtins-20.c: Likewise.
      	* gcc.dg/builtins-53.c: Likewise.
      	* gcc.dg/torture/builtins-convert-1.c: Likewise.
      	* gcc.dg/torture/builtins-convert-2.c: Likewise.
      	* gcc.dg/torture/builtins-convert-3.c: Likewise.
      	* gcc.dg/torture/builtins-power-1.c: Likewise.
      	* gcc.dg/builtins-config.h: Complain if macosx-version-min not set
      	on Darwin.
      
      From-SVN: r101753
      Geoffrey Keating committed
  5. 07 Jul, 2005 2 commits
    • hooks.c (hook_bool_rtx_int_false): New function. · 8ddf681a
      	* hooks.c (hook_bool_rtx_int_false): New function.
      	* hooks.h (hook_bool_rtx_int_false): Declare.
      	* target-def.h (TARGET_COMMUTATIVE_P): Define.
      	(TARGET_INITIALIZER): Add TARGET_COMMUTATIVE_P.
      	* target.h (struct gcc_target): Add commutative_p member.
      	* targhooks.c (hook_bool_rtx_commutative_p): New function.
      	* targhooks.h (hook_bool_rtx_commutative_p): Declare.
      	* pa.c (TARGET_COMMUTATIVE_P): Redefine.
      	(pa_commutative_p): New function.
      	* jump.c (target.h): Include.
      	(rtx_renumbered_equal_p): Use targetm.commutative_p.
      	* doc/tm.texi: Document TARGET_COMMUTATIVE_P.
      
      From-SVN: r101706
      J"orn Rennecke committed
    • s390.c: (optimization_options): Enable TARGET_MVCLE at -Os. · 8daf098e
      2005-07-07  Adrian Straetling  <straetling@de.ibm.com>
      
      	* config/s390/s390.c: (optimization_options): Enable
      	TARGET_MVCLE at -Os.
      	* doc/invoke.texi: Document changes in default behaviour.
      	* config/s390/s390.opt: ("mvcle"): Fix typo: is "mmvcle".
      
      From-SVN: r101704
      Adrian Straetling committed
  6. 06 Jul, 2005 2 commits
  7. 02 Jul, 2005 1 commit
  8. 30 Jun, 2005 1 commit
    • function.c (stack_protect_epilogue): Pass label to stack_protect_test, assume it… · 3aebbe5f
      function.c (stack_protect_epilogue): Pass label to stack_protect_test, assume it emitted also the conditional branch.
      
      	* function.c (stack_protect_epilogue): Pass label to
      	stack_protect_test, assume it emitted also the conditional
      	branch.
      	* doc/md.texi (stack_protect_test): Adjust documentation.
      	* config/i386/i386.md (stack_protect_test): Add third argument,
      	emit beq with operands[2].
      	* config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Define to
      	flag_stack_protect != 0.
      	* config/rs6000/rs6000.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
      	constants.
      	(stack_protect_set, stack_protect_test): New expanders.
      	(stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
      	stack_protect_testdi): New insns.
      	* config/rs6000/rs6000.c (rs6000_stack_protect_fail): New function.
      	(TARGET_STACK_PROTECT_FAIL): Define.
      	(rs6000_generate_compare): Handle UNSPEC_SP_TEST.
      
      From-SVN: r101468
      Jakub Jelinek committed
  9. 29 Jun, 2005 2 commits
    • target.h (gcc_target): New field allocate_initial_value. · b48f503c
      	* target.h (gcc_target): New field allocate_initial_value.
      	* target-def.h (TARGET_ALLOCATE_INITIAL_VALUE): New macro.
      	(TARGET_INITIALIZER): Include it.
      	* integrate.c (allocate_initial_values): Use
      	targetm.allocate_initial_value.
      	* system.h: Poison ALLOCATE_INITIAL_VALUE.
      	* config/sh/sh-protos.h (sh_pr_n_sets): Delete.
      	* config/sh/sh.c (sh_pr_n_sets): Make it static.
      	(sh_allocate_initila_value): New function.
      	(TARGET_ALLOCATE_INITIAL_VALUE): Override default.
      	* config/sh/sh.h (ALLOCATE_INITIAL_VALUE): Delete.
      	* doc/tm.texi (TARGET_ALLOCATE_INITIAL_VALUE): Rename and
      	update from ALLOCATE_INITIAL_VALUE.
      
      From-SVN: r101411
      Kaz Kojima committed
    • gcc.texi: Update FSF address. · 1ea9f918
      2005-06-29  Kelley Cook <kcook@gcc.gnu.org>
      
      	* doc/gcc.texi: Update FSF address.
      
      From-SVN: r101401
      Kelley Cook committed
  10. 28 Jun, 2005 6 commits
    • target.h (invalid_conversion, [...]): New hooks. · 4de67c26
      	* target.h (invalid_conversion, invalid_unary_op,
      	invalid_binary_op): New hooks.
      	* target-def.h (TARGET_INVALID_CONVERSION,
      	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
      	TARGET_INITIALIZER): Likewise.
      	* hooks.h (hook_constcharptr_tree_tree_null,
      	hook_constcharptr_int_tree_null,
      	hook_constcharptr_int_tree_tree_null): New.
      	* hooks.c (hook_constcharptr_tree_tree_null,
      	hook_constcharptr_int_tree_null,
      	hook_constcharptr_int_tree_tree_null): Likewise.
      	* gcc/doc/tm.texi (TARGET_INVALID_CONVERSION,
      	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Document.
      	* c-convert.c (convert): Use invalid_conversion hook.
      	* c-typeck.c (build_unary_op): Use invalid_unary_op hook.
      	(build_binary_op): Use invalid_binary_op hook.
      	* config/ia64/ia64-modes.def: Define RFmode.
      	* config/ia64/ia64-protos.h (spill_xfmode_operand): Remove.
      	(ia64_expand_movxf_movrf): New.
      	* config/ia64/ia64.md (movxf): Move code to
      	ia64_expand_movxf_movrf.
      	(movrf, movrf_internal): New.
      	* ia64.c (ia64_invalid_conversion, ia64_invalid_unary_op,
      	ia64_invalid_binary_op, TARGET_INVALID_CONVERSION,
      	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): New.
      	(spill_xfmode_operand): Rename to spill_xfmode_rfmode_operand.
      	Add mode parameter.  Make static.
      	(ia64_expand_movxf_movrf): New, moved from ia64.md.  Handle RFmode
      	as well as XFmode.
      	(ia64_function_arg, ia64_function_value, ia64_register_move_cost,
      	ia64_scalar_mode_supported_p): Handle RFmode as well as XFmode.
      	(ia64_init_builtins): Set up __fpreg as RFmode.
      	(ia64_mangle_fundamental_type): Mangle __fpreg as u7__fpreg.
      
      cp:
      	* cvt.c (ocp_convert): Use invalid_conversion hook.
      	* typeck.c (build_binary_op): Use invalid_binary_op hook.
      	(build_unary_op): Use invalid_unary_op hook.
      
      testsuite:
      	* g++.dg/ext/fpreg1.C, gcc.target/ia64/fpreg-1.c,
      	gcc.target/ia64/fpreg-2.c: New tests.
      
      From-SVN: r101391
      Joseph Myers committed
    • builtins.c: (expand_builtin_memset): Rewrite to support 'set_storage_via_setmem'. · 57e84f18
      2006-06-28  Adrian Straetling  <straetling@de.ibm.com>
      
      	* builtins.c: (expand_builtin_memset): Rewrite to support
      	'set_storage_via_setmem'.
      	* expr.c: (enum insn_code setmem_optab): Define.
      	(enum insn_code clrmem_optab): Remove.
      	(set_storage_via_setmem): New function.
      	(clear_storage_via_setmem): Remove.
      	(clear_storage): Replace call to "clear_storage_via_clrmem" with
      	"set_storage_via_setmem".
      	* expr.h: (set_storage_via_setmem): Declare.
      	(CLEAR_RATIO): Redefine using HAVE_setmemM.
      	* optabs.h: (enum insn_code setmem_optab): Declare.
      	(enum insn_code clrmem_optab): Remove.
      	* optabs.c: (init_optabs): Initialize setmem_optab.
      	(enum insn_code clrmem_optab): Remove.
      	* genopinit.c: (otabs): Likewise.
      	* doc/md.texi: Document new standard pattern 'setmem'. Remove
      	  'clrmem'.
      	* config/alpha/alpha.c: (alpha_expand_block_clear): Adjust
      	'operands' ordering.
      	* config/frv/frv.c: (frv_expand_block_clear): Likewise.
      	* config/rs6000/rs6000.c: (expand_block_clear): Likewise.
      	* config/alpha/alpha.md: ("clrmemqi", "clrmemdi"): Rename to "setmemM".
      	FAIL on operands[2]!=const0_rtx. Adjust 'operands' ordering.
      	* config/avr/avr.md: ("clrmemhi"): Likewise.
      	* config/frv/frv.md: ("clrmemsi"): Likewise.
      	* config/i386/i386.md: ("clrmemsi", "clrmemdi"): Likewise.
      	* config/pa/pa.md: ("clrmemsi", "clrmemdi"): Likewise.
      	* config/rs6000/rs6000.md: ("clrmemsi"): Likewise.
      	* config/s390/s390.md: ("clrmem<mode>"): Likewise.
      
      From-SVN: r101386
      Adrian Straetling committed
    • Makefile.in: Set and use UNWIND_H. · 617a1b71
      2005-06-28  Paul Brook  <paul@codesourcery.com>
      
      gcc/
      	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
      	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
      	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
      	(assign_filter_values): Ditto.
      	(output_ttype): New function.
      	(output_function_exception_table): Use output_ttype.  Generate arm
      	eabi filter lists.
      	(default_init_unwind_resume_libfunc): New function.
      	* except.h (default_init_unwind_resume_libfunc): Add prototype.
      	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
      	* opts.c (decode_options): Use targetm.unwind_tables_default.
      	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
      	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
      	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
      	and arm_eabi_unwinder.
      	* unwind-c.c: Support Arm EABI unwinder.
      	* unwind.h: Rename ...
      	* unwind-generic.h: ... To this.
      	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
      	(TARGET_UNWID_TABLES_DEFAULT): Document.
      
      	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
      	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
      	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
      	Define.
      	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
      	directives.
      	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
      	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
      	!TARGET_UNWIND_INFO.
      	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
      	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
      	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
      	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
      	* config/arm/lib1funcs.asm: Include libunwind.S.
      	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
      	* config/arm/libunwind.S: New file.
      	* config/arm/pr-support.c: New file.
      	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
      	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
      	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
      	* config/arm/unwind-arm.c: New file.
      	* config/arm/unwind-arm.h: New file.
      	* config/i386/t-netware (USER_H): Remove unwind.h.
      	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
      
      gcc/cp/
      	* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
      	* except.c: Include target.h.
      	(init_exception_processing): Initialize unwind_resume_libfunc.
      	* doc/tm.texi: Document TARGET_ASM_TTYPE
      gcc/ada/
      	* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
      gcc/java/
      	* decl.c (java_init_decl_processing): Call
      	default_init_unwind_resume_libfunc.
      gcc/objc/
      	* objc-act.c (objc_init_exceptions): Call
      	default_init_unwind_resume_libfunc.
      libstdc++/
      	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
      	__cxa_end_cleanup.
      	* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
      	* libsupc++/eh_arm.cc: New file.
      	* libsupc++/eh_call.cc: New file.
      	* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
      	__gxx_caught_object.
      	(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
      	_Unwind_Complete when using the ARM EABI.
      	(__cxa_end_catch): Use __is_gxx_exception_class.
      	* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
      	using the ARM EABI.
      	(save_caught_exception, restore_caught_exception): New functions.
      	(_throw_typet): New typedef.
      	(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
      	EABI implementations.
      	(PERSONALITY_FUNCTION): Use new functions.  Addd support for ARM EABI
      	unwinding libary.
      	(__cxa_unexpected): Disable when using the ARM EABI.
      	* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
      	(__cxa_rethrow): Use __is_gxx_exception_class.  Call
      	_Unwind_RaiseException when using the ARM EABI.
      	* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
      	EABI semantics.
      	(struct __cxa_eh_globals): Ditto.
      	(__cxa_call_terminate): Add prototype.
      	(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
      	prototypes.
      	(__get_exception_header_from_obj, __get_exception_header_from_ue):
      	Move earlier in file.
      	(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
      	__gxx_caught_object): New functions.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* Makefile.in: Regenerate.
      	* include/Makefile.in: Regenerate.
      	* libmath/Makefile.in: Regenerate.
      	* libsupc++/Makefile.in: Regenerate.
      	* po/Makefile.in: Regenerate.
      	* src/Makefie.in: Regenerate.
      	* testsuite/makefile.in: Regenerate.
      
      From-SVN: r101385
      Paul Brook committed
    • texinfo.tex: Import from upstream CVS. · 54c885c5
      2005-06-28  Kelley Cook  <kcook@gcc.gnu.org>
      
      	* doc/include/texinfo.tex: Import from upstream CVS.
      
      From-SVN: r101370
      Kelley Cook committed
    • cgraph.c (cgraph_remove_node): Do not release function bodies until full cgraph is built. · d63db217
      	* cgraph.c (cgraph_remove_node): Do not release function bodies until
      	full cgraph is built.
      	* cgraph.h (cgraph_decide_inlining_incrementally): Add early argument.
      	* cgraphunit.c (cgraph_finalize_function): Update call of
      	cgraph_decide_inlining_incrementally.
      	(initialize_inline_failed): Break out of ...
      	(cgraph_analyze_function): ... here.
      	(rebuild_cgraph_edges): New function.
      	(pass_rebuild_cgraph_edges): New pass.
      	* common.opt (fearly-inlining): New flag.
      	* ipa-inline.c: Include ggc.h
      	(cgraph_clone_inlined_nodes): Avoid re-using of original copy
      	when cgraph is not fully built.
      	(cgraph_decide_inlining_incrementally): Add early mode.
      	(cgraph_early_inlining): New function.
      	(cgraph_gate_early_inlining): Likewise.
      	(pass_early_ipa_inline): New pass.
      	* ipa.c (cgraph_postorder): NULLify aux pointer.
      	* tree-inline.c (expand_call_inline): Avoid warning early.
      	* tree-optimize.c (pass_early_local_passes): New.
      	(execute_cleanup_cfg_pre_ipa): New.
      	(pass_cleanup_cfg): New.
      	(register_dump_files): Fix handling subpasses of IPA pass.
      	(init_tree_optimization_passes): Add early passes.
      	(execute_ipa_pass_list): Fix handling of subpasses of IPA pass.
      	* passes.h (pass_early_tree_profile, pass_rebuild_cgraph_edges,
      	pass_early_ipa_inline): New passes.
      	* tree-profile.c (do_early_tree_profiling, pass_early_tree_profile): New.
      
      	* invoke.texi: Document early-inlining.
      
      From-SVN: r101369
      Jan Hubicka committed
    • fdl.texi: Merge in changes from upstream. · 0d44cd2c
      2005-06-28  Kelley Cook  <kcook@gcc.gnu.org>
      
      	* doc/include/fdl.texi: Merge in changes from upstream.
      	* doc/include/gpl.texi: Likewise.
      
      From-SVN: r101367
      Kelley Cook committed
  11. 27 Jun, 2005 2 commits
    • builtin-attrs.def (DEF_ATTR_FOR_INT): Add for 5 and 6. · 10a0d495
      	* builtin-attrs.def (DEF_ATTR_FOR_INT): Add for 5 and 6.
      	(DEF_LIST_INT_INT): Add for 4,0, 4,5, 5,0, 5,6.
      	(ATTR_NOTHROW_NONNULL_4, ATTR_NOTHROW_NONNULL_5): Define.
      	(ATTR_FORMAT_PRINTF_4_0, ATTR_FORMAT_PRINTF_4_5,
      	ATTR_FORMAT_PRINTF_5_0, ATTR_FORMAT_PRINTF_5_6): Define.
      	* builtins.c: Include tree-flow.h.
      	(expand_builtin_mempcpy, expand_builtin_memmove): Comment fixes.
      	(expand_builtin_object_size, expand_builtin_memory_chk,
      	maybe_emit_chk_warning, maybe_emit_sprintf_chk_warning,
      	compute_object_offset, compute_builtin_object_size,
      	fold_builtin_object_size): New functions.
      	(expand_builtin): Handle BUILT_IN_OBJECT_SIZE and BUILT_IN_*_CHK.
      	(fold_builtin_1): Likewise.  Handle BUILT_IN_{,V}{,F}PRINTF
      	and BUILT_IN_{,F}PRINTF_UNLOCKED.
      	(fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
      	fold_builtin_strncpy_chk, fold_builtin_strcat_chk,
      	fold_builtin_strncat_chk, fold_builtin_sprintf_chk,
      	fold_builtin_snprintf_chk, fold_builtin_printf, fold_builtin_fprintf):
      	New functions.
      	* builtins.def (BUILT_IN_OBJECT_SIZE, BUILT_IN_MEMCPY_CHK,
      	BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, BUILT_IN_MEMSET_CHK,
      	BUILT_IN_STPCPY_CHK, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK,
      	BUILT_IN_STRNCAT_CHK, BUILT_IN_STRNCPY_CHK, BUILT_IN_SNPRINTF_CHK,
      	BUILT_IN_SPRINTF_CHK, BUILT_IN_VSNPRINTF_CHK, BUILT_IN_VSPRINTF_CHK,
      	BUILT_IN_FPRINTF_CHK, BUILT_IN_PRINTF_CHK, BUILT_IN_VFPRINTF_CHK,
      	BUILT_IN_VPRINTF_CHK): New builtins.
      	* builtin-types.def (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_VAR_4):
      	Document.
      	(BT_FN_SIZE_CONST_PTR_INT, BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
      	BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, BT_FN_PTR_PTR_INT_SIZE_SIZE,
      	BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
      	BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
      	BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
      	BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
      	BT_FN_INT_INT_CONST_STRING_VAR, BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
      	BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
      	BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR): New types.
      	* c-common.c (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_6,
      	DEF_FUNCTION_TYPE_VAR_4, DEF_FUNCTION_TYPE_VAR_5): Define.
      	* Makefile.in (OBJS-common): Add tree-object-size.o.
      	(tree-object-size.o): Add dependencies.
      	* tree-pass.h (pass_object_sizes): Add.
      	* tree-optimize.c (init_tree_optimization_passes): Add
      	pass_object_sizes.
      	* tree-object-size.c: New file.
      	* tree.h (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
      	fold_builtin_strncpy_chk, fold_builtin_snprintf_chk,
      	compute_builtin_object_size, init_object_sizes, fini_object_sizes):
      	New prototypes.
      	* tree-ssa-ccp.c (get_strlen): Rename to ...
      	(get_maxval_strlen): ...this function.  Handle also computing of maximum
      	string length and maximum integral value.
      	(ccp_fold_builtin): Handle BUILT_IN_*_CHK.  Use get_maxval_strlen
      	instead of get_strlen.  Pass CALLEE and ARGLIST variables to the
      	folding functions instead of computing them again.
      	(execute_fold_all_builtins): Retry ccp_fold_builtin if a builtin changed
      	into some other builtin.
      	* doc/extend.texi (Object Size Checking): Document.
      
      	* gcc.c-torture/execute/builtins/lib/main.c (abort): Add prototype.
      	* gcc.c-torture/execute/builtins/lib/strncat.c (strncat): Avoid
      	testing uninitialized var.
      
      	* gcc.c-torture/execute/builtins/chk.h: New.
      	* gcc.c-torture/execute/builtins/lib/chk.c: New.
      	* gcc.c-torture/execute/builtins/memcpy-chk.c: New test.
      	* gcc.c-torture/execute/builtins/memcpy-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/memmove-chk.c: New test.
      	* gcc.c-torture/execute/builtins/memmove-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/mempcpy-chk.c: New test.
      	* gcc.c-torture/execute/builtins/mempcpy-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/memset-chk.c: New test.
      	* gcc.c-torture/execute/builtins/memset-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/snprintf-chk.c: New test.
      	* gcc.c-torture/execute/builtins/snprintf-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/sprintf-chk.c: New test.
      	* gcc.c-torture/execute/builtins/sprintf-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/stpcpy-chk.c: New test.
      	* gcc.c-torture/execute/builtins/stpcpy-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/strcat-chk.c: New test.
      	* gcc.c-torture/execute/builtins/strcat-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/strcpy-chk.c: New test.
      	* gcc.c-torture/execute/builtins/strcpy-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/strncat-chk.c: New test.
      	* gcc.c-torture/execute/builtins/strncat-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/strncpy-chk.c: New test.
      	* gcc.c-torture/execute/builtins/strncpy-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/vsnprintf-chk.c: New test.
      	* gcc.c-torture/execute/builtins/vsnprintf-chk-lib.c: New.
      	* gcc.c-torture/execute/builtins/vsprintf-chk.c: New test.
      	* gcc.c-torture/execute/builtins/vsprintf-chk-lib.c: New.
      	* gcc.dg/builtin-object-size-1.c: New test.
      	* gcc.dg/builtin-object-size-2.c: New test.
      	* gcc.dg/builtin-object-size-3.c: New test.
      	* gcc.dg/builtin-object-size-4.c: New test.
      	* gcc.dg/builtin-object-size-5.c: New test.
      	* gcc.dg/builtin-stringop-chk-1.c: New test.
      	* gcc.dg/builtin-stringop-chk-2.c: New test.
      	* gcc.dg/tree-ssa/builtin-fprintf-1.c: New test.
      	* gcc.dg/tree-ssa/builtin-fprintf-chk-1.c: New test.
      	* gcc.dg/tree-ssa/builtin-printf-1.c: New test.
      	* gcc.dg/tree-ssa/builtin-printf-chk-1.c: New test.
      	* gcc.dg/tree-ssa/builtin-vfprintf-1.c: New test.
      	* gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c: New test.
      	* gcc.dg/tree-ssa/builtin-vprintf-1.c: New test.
      	* gcc.dg/tree-ssa/builtin-vprintf-chk-1.c: New test.
      	* gcc.c-torture/execute/printf-1.c: New test.
      	* gcc.c-torture/execute/fprintf-1.c: New test.
      	* gcc.c-torture/execute/vprintf-1.c: New test.
      	* gcc.c-torture/execute/vfprintf-1.c: New test.
      	* gcc.c-torture/execute/printf-chk-1.c: New test.
      	* gcc.c-torture/execute/fprintf-chk-1.c: New test.
      	* gcc.c-torture/execute/vprintf-chk-1.c: New test.
      	* gcc.c-torture/execute/vfprintf-chk-1.c: New test.
      
      From-SVN: r101352
      Jakub Jelinek committed
    • c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__. · 7d69de61
      	* c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.
      	* cfgexpand.c: Include params.h.
      	(has_protected_decls, has_short_buffer): New.
      	(expand_stack_vars): Take a predicate to determine what to expand.
      	(defer_stack_allocation): True when flag_stack_protect on.
      	(SPCT_HAS_LARGE_CHAR_ARRAY, SPCT_HAS_SMALL_CHAR_ARRAY): New.
      	(SPCT_HAS_ARRAY, SPCT_HAS_AGGREGATE): New.
      	(stack_protect_classify_type, stack_protect_decl_phase): New.
      	(stack_protect_decl_phase_1, stack_protect_decl_phase_2): New.
      	(add_stack_protection_conflicts, create_stack_guard): New.
      	(expand_used_vars): Add stack protection logic.
      	(tree_expand_cfg): Likewise.
      	* common.opt (Wstack-protector): New.
      	(fstack-protector, fstack-protector-all): New.
      	* function.c: Include predict.h.
      	(assign_parm_adjust_stack_rtl): Zap stack_parm when stack protect
      	wants to copy the parameter into the stack frame.
      	(stack_protect_prologue, stack_protect_epilogue): New.
      	(expand_function_end): Call stack_protect_epilogue.  Do
      	sjlj_emit_function_exit_after after naked_return_label.
      	* function.h (struct function): Add stack_protect_guard.
      	* params.def (PARAM_SSP_BUFFER_SIZE): New.
      	* toplev.c (process_options): Disable flag_stack_protect and/or
      	warn_stack_protect based on FRAME_GROWS_DOWNWARD.
      	* tree.h (stack_protect_prologue): Declare.
      
      	* target-def.h (TARGET_STACK_PROTECT_GUARD): New.
      	(TARGET_STACK_PROTECT_FAIL): New.
      	(TARGET_INITIALIZER): Add them.
      	* target.h (struct gcc_target): Add stack_protect_guard and
      	stack_protect_fail.
      	* targhooks.c: Include ggc.h, gty header.
      	(stack_chk_guard_decl, default_stack_protect_guard): New.
      	(stack_chk_fail_decl, default_external_stack_protect_fail): New.
      	(default_hidden_stack_protect_fail): New.
      	* targhooks.h (default_stack_protect_guard): Declare.
      	(default_external_stack_protect_fail): Declare.
      	(default_hidden_stack_protect_fail): Declare.
      	* config/i386/i386.c (TARGET_STACK_PROTECT_FAIL): New.
      	* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New.
      	(trap): Use ud2.
      	(conditional_trap, conditional_trap_1): Remove.
      	(stack_protect_set, stack_protect_set_si, stack_protect_set_di): New.
      	(stack_protect_test, stack_protect_test_si, stack_protect_test_di): New.
      	* doc/md.texi (stack_protect_set, stack_protect_test): New.
      	* doc/tm.texi (TARGET_STACK_PROTECT_GUARD): New.
      	(TARGET_STACK_PROTECT_FAIL): New.
      
      	* libgcc-std.ver (GCC_4.1.0): New.
      	* libgcc.h (__stack_chk_guard): Declare.
      	(__stack_chk_fail, __stack_chk_fail_local): Declare.
      	* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
      	* mklibgcc.in (lib2funcs): Add them.
      
      From-SVN: r101348
      Richard Henderson committed
  12. 26 Jun, 2005 3 commits
    • cfg.c, [...]: Fix comment typos. · f341de7b
      	* cfg.c, tree-vect-transform.c, tree.def: Fix comment typos.
      	* doc/invoke.texi: Fix typos.
      
      From-SVN: r101336
      Kazu Hirata committed
    • install.texi (Specific): Do not specify the concrete versions of GCC provided by Cygwin. · 5b65d351
      	* doc/install.texi (Specific): Do not specify the concrete
      	versions of GCC provided by Cygwin.  Simplify the part on
      	building on Cygwin.
      
      From-SVN: r101335
      Gerald Pfeifer committed
    • defaults.h (FRAME_GROWS_DOWNWARD): Define to 0 if not defined. · f62c8a5c
      	* defaults.h (FRAME_GROWS_DOWNWARD): Define to 0 if not defined.
      	* function.c (get_func_frame_size): Use if (FRAME_GROWS_DOWNWARD)
      	instead of preprocessor conditionals.
      	(assign_stack_local_1, assign_stack_temp_for_type): Likewise.
      	* cfgexpand.c (FRAME_GROWS_DOWNWARD): Don't redefine to 1 or 0
      	depending on if it was or was not defined previously.
      	* doc/rtl.texi (VIRTUAL_STACK_VARS_REGNUM): Mention that only non-zero
      	definition of FRAME_GROWS_DOWNWARD means frame grows downward.
      	* doc/tm.texi (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/m68hc11/m68hc11.h (FRAME_GROWS_DOWNWARD): Define to 0.  Update
      	comment.
      	* config/pa/pa.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/stormy16/stormy16.h (FRAME_GROWS_DOWNWARD): Define to 0.
      	* config/c4x/c4x.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/sh/sh.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/ia64/ia64.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/iq2000/iq2000.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/pdp11/pdp11.h (FRAME_GROWS_DOWNWARD): Define to 1.  Update
      	comment.
      	* config/i860/i860.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/h8300/h8300.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/arc/arc.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/vax/vax.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/sparc/sparc.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/i386/i386.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/fr30/fr30.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/frv/frv.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/mn10300/mn10300.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/bfin/bfin.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/ns32k/ns32k.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/v850/v850.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/alpha/alpha.h (FRAME_GROWS_DOWNWARD): Update comment.
      	* config/s390/s390.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/arm/arm.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/alpha/unicosmk.h (FRAME_GROWS_DOWNWARD): Define to 1.
      	* config/cris/cris.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/m68k/m68k.h (FRAME_GROWS_DOWNWARD): Likewise.
      	* config/mmix/mmix.h (FRAME_GROWS_DOWNWARD): Likewise.
      
      From-SVN: r101329
      Jakub Jelinek committed
  13. 24 Jun, 2005 1 commit
    • tree-optimize.c (init_tree_optimization_passes): Fix flags of all_passes and all_ipa_passes. · ce91e74c
      	* tree-optimize.c (init_tree_optimization_passes): Fix flags of
      	all_passes and all_ipa_passes.
      
      	* c-common.c: Include cgraph.h
      	(handle_externally_visible_attribute): New function.
      	(c_common_att): Add "externally_visible" attribute.
      	* cgraph.c (decide_is_variable_needed): Obey externally
      	visible flag.
      	(cgraph_varpool_finalize_decl): Avoid redundant checking.
      	* cgraph.h (struct cgraph_node): New flag externally_visible.
      	(decide_is_function_needed): Obey externally visible flag.
      	(cgraph_finalize_function): Avoid redundant checks.
      	(cgraph_function_and_variable_visibility): Bring symbols local
      	when asked for.
      	* common.opt (fwhole-program): New flag.
      
      	* doc/invoke.texi (-fwhole-program): Document.
      
      From-SVN: r101295
      Jan Hubicka committed
  14. 18 Jun, 2005 1 commit
  15. 16 Jun, 2005 1 commit
    • extend.texi: Document sseregparm target attribute. · 2f84b963
      2005-06-16  Richard Guenther  <rguenth@gcc.gnu.org>
      
      	* doc/extend.texi: Document sseregparm target attribute.
      	Clarify fastcall and regparm documentation.
      	* config/i386/i386.h: Adjust float_in_sse documentation.
      	* config/i386/i386.c: Add new target attribute sseregparm.
      	(ix86_handle_cdecl_attribute, ix86_handle_regparm_attribute):
      	Merge into ...
      	(ix86_handle_cconv_attribute): ... here.  Also handle
      	sseregparm attribute.
      	(ix86_comp_type_attributes): Compare sseregparm attributes.
      	(ix86_function_sseregparm): New function, split out from ...
      	(init_cumulative_args): ... here.  Use to decide use
      	of SSE registers and error in case of missing support.
      	(ix86_value_regno): Likewise.
      	(function_arg_advance): Do not bail out for DFmode if we need
      	to pass doubles in registers.
      	(function_arg): Likewise.
      
      	* gcc.target/i386/attributes-error.c: New testcase.
      	* gcc.target/i386/fastcall-sseregparm.c: Likewise.
      	* gcc.target/i386/regparm-stdcall.c: Likewise.
      	* gcc.target/i386/sseregparm-1.c: Likewise.
      	* gcc.target/i386/sseregparm-2.c: Likewise.
      
      From-SVN: r101085
      Richard Guenther committed
  16. 15 Jun, 2005 2 commits
    • * doc/invoke.texi (-mips16): Fix typo. · 71cb39e6
      From-SVN: r100981
      Richard Sandiford committed
    • mips.h (GENERATE_MIPS16E): New definition. · 7cc63a88
      * config/mips/mips.h (GENERATE_MIPS16E): New definition.
      * config/mips/mips.md (zero_extend<SHORT:mode><GPR:mode>2):
      Changed expand condition to exclude generating of "and" if
      GENERATE_MIPS16E is true.
      (*zero_extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for
      matching mips16e zeb/zeh.
      (*extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for matching
      mips16e seb/seh.
      (*extend<SHORT:mode><GPR:mode>2): Disable this pattern for
      GENERATE_MIPS16E.
      * doc/invoke.texi (MIPS Options): Add comment to -mips16
      indicating MIPS16e ASE is used if targetting for MIPS32 or MIPS64.
      
      From-SVN: r100979
      David Ung committed
  17. 13 Jun, 2005 1 commit
  18. 10 Jun, 2005 1 commit
  19. 09 Jun, 2005 2 commits
    • re PR c/21759 (Implement warning for codes at the intersection of C and C++) · b7e20b53
              PR c/21759
              * c.opt (Wc++-compat): New.
              * doc/invoke.texi (-Wc++-compat): Document.
              * c-typeck.c (convert_for_assignment): Check for implicit
              conversion void* -> T*.
      testsuite/
              * gcc.dg/Wcxx-compat-1.c: New.
      
      From-SVN: r100806
      Gabriel Dos Reis committed
    • target.h (insn_valid_within_doloop): Rename into "invalid_within_doloop". · e7e64a25
      2005-06-09  Adrian Straetling  <straetling@de.ibm.com>
      
      	* target.h (insn_valid_within_doloop): Rename into
      	"invalid_within_doloop".  Change return type to "const char *".
      	Update Comment.
      	* targhooks.h (default_insn_valid_within_doloop): Rename into
      	"default_invalid_within_doloop".
      	* targhooks.c (default_insn_valid_within_doloop): Likewise.
      	Update Comment.
      	* target-def.h (TARGET_INSN_VALID_WITHIN_DOLOOP): Rename target hook
      	into "TARGET_INVALID_WITHIN_DOLOOP". Default it to
      	"default_invalid_within_doloop".
      	* hooks.c (hook_constcharptr_rtx_null): New function.
      	(hook_bool_rtx_true): Remove.
      	* hooks.h (hook_constcharptr_rtx_null): Declare.
      	(hook_bool_rtx_true): Remove.
      	* loop-doloop.c (doloop_valid_p): Temporarily store return value of
      	"invalid_within_doloop" and print error message if non-null.
      	Update Comment.
      	* doc/tm.texi: Update documentation.
      	* config/s390/s390.c: Adjust to new hook name and new default hook.
      	* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Rename
      	into "rs6000_invalid_within_doloop".
      	(rs6000_invalid_within_doloop): Change return type to "static const
      	char *" and replace return values.  Update Comment.
      
      From-SVN: r100797
      Adrian Straetling committed
  20. 08 Jun, 2005 1 commit
    • re PR debug/21889 (Native Solaris assembler cannot grok DTP-relative debug symbols) · fdbe66f2
      	PR target/21889
      	* target.h (gcc_target) <asm_out>: New field output_dwarf_dtprel.
      	* target-def.h (TARGET_ASM_OUTPUT_DWARF_DTPREL): New macro.
      	(TARGET_ASM_OUT): Add it.
      	* doc/tm.texi (Debugging Info): Document it.
      	* dwarf2out.c (output_loc_operands) <INTERNAL_DW_OP_tls_addr>:
      	Test it instead of ASM_OUTPUT_DWARF_DTPREL.
      	(loc_descriptor_from_tree_1) <VAR_DECL>: Likewise.
      	* system.h: Poison ASM_OUTPUT_DWARF_DTPREL.
      	* config/frv/frv-protos.h (frv_output_dwarf_dtprel): Delete.
      	* config/frv/frv.c (frv_output_dwarf_dtprel): Make static and unused.
      	(gen_inlined_tls_plt): Remove unused variable MEM.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to frv_output_dwarf_dtprel.
      	* config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/i386/i386-protos.h (i386_output_dwarf_dtprel): Delete.
      	* config/i386/i386.c (i386_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to i386_output_dwarf_dtprel.
      	* config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): Delete.
      	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to ia64_output_dwarf_dtprel.
      	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Delete.
      	* config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to rs6000_output_dwarf_dtprel
      	* config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/s390/s390-protos.h (s390_output_dwarf_dtprel): Delete.
      	* config/s390/s390.c (s390_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to s390_output_dwarf_dtprel.
      	* config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/sparc/sol2-gas.h (TARGET_SUN_TLS): Define to 0.
      	(TARGET_GNU_TLS): Define to 1.
      	* config/sparc/sparc-protos.h (sparc_output_dwarf_dtprel): Delete.
      	* config/sparc/sparc.c (sparc_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to sparc_output_dwarf_dtprel
      	if TARGET_GNU_TLS only.
      	* config/sparc/sparc.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      
      	* config.gcc (sparc64-*-solaris2*): Include tm-dwarf2.h last.
      	(sparc-*-solaris2*): Likewise on Solaris 7 and up.
      
      From-SVN: r100742
      Eric Botcazou committed