summaryrefslogtreecommitdiffstats
path: root/gcc
Commit message (Collapse)AuthorAgeFilesLines
* * config/sh/linux-unwind.h (shmedia_fallback_frame_state):kkojima2005-06-292-2/+14
| | | | | | | | Disable aliasing warning with void * cast. (sh_fallback_frame_state): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101412 138bc75d-0d04-0410-961f-82ee72b054a4
* * target.h (gcc_target): New field allocate_initial_value.kkojima2005-06-299-55/+99
| | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101411 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-vectorizer.c (vect_is_simple_reduction): Compare typesrth2005-06-292-2/+8
| | | | | | | using TYPE_MAIN_VARIANT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101407 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_expand_vecint_compare): Decompose to EQrth2005-06-295-5/+243
| | | | | | | when using psubN.uuu. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101405 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2005-06-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101403 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-29 Kelley Cook <kcook@gcc.gnu.org>kcook2005-06-292-2/+6
| | | | | | | * doc/gcc.texi: Update FSF address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101401 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Eric Christopher <echristo@redhat.com>echristo2005-06-298-35/+69
| | | | | | | | | | | | | | | | | | | | PR c/22052 PR c/21975 * c-decl.c (diagnose_mismatched_decls): Define DECL_EXTERN_INLINE. Use. Fix detection of invalid extern inline redefinition. 2005-06-28 Eric Christopher <echristo@redhat.com> PR c/22052 PR c/21975 * gcc.dg/inline1.c: New test. * gcc.dg/inline2.c: Ditto. * gcc.dg/inline3.c: Ditto. * gcc.dg/inline4.c: Ditto. * gcc.dg/inline5.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101400 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-optimize.c (init_tree_optimization_passes): Fix typo.dnovillo2005-06-282-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101399 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2005-06-282-0/+12
| | | | | | | | | | | | | | | | | PR libfortran/22142 * m4/eoshift1.m4: Correct bstride (it needs to be multiplied by size since it's a char pointer). * m4/eoshift1_4.c: Regenerated. * m4/eoshift1_8.c: Regenerated. 2005-06-28 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/22142 * gfortran.fortran-torture/execute/intrinsic_eoshift.f90: Add testcase also testing eoshift1 for PR 22142. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101398 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Andrew Pinski <pinskia@physics.uc.edu>pinskia2005-06-282-1/+5
| | | | | | | * config/rs6000/rs6000.md (setmemsi): s/operand/operands/. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101397 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_expand_vecint_compare): Use unsignedrth2005-06-282-128/+60
| | | | | | | | | | saturating subtraction for QI and HImode unsigned compares. Use bit arithmetic tricks for SImode unsigned compares. (ia64_expand_vcondu_v2si): Remove. (ia64_expand_vecint_cmov): Don't call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101396 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtlanal.c (nonzero_bits1): Use the mode of the value forrth2005-06-282-3/+10
| | | | | | | determining integral-ness for comparisons. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101395 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Andrew Pinski <pinskia@physics.uc.edu>pinskia2005-06-282-1/+5
| | | | | | | * config/rs6000/rs6000.md (setmemsi): Fix operand 2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101394 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/tree-ssa/20030708-1.c: Remove static from test function.rth2005-06-289-8/+22
| | | | | | | | | | * gcc.dg/tree-ssa/20030709-1.c, gcc.dg/tree-ssa/20030714-1.c, gcc.dg/tree-ssa/20030807-1.c, gcc.dg/tree-ssa/20030807-5.c, gcc.dg/tree-ssa/20030807-8.c, gcc.dg/tree-ssa/20030815-1.c, gcc.dg/tree-ssa/20030922-2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101393 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2005-06-282-0/+14
| | | | | | | | | | | | | | | | | PR libfortran/22142 * m4/eoshift3.m4: Correct bstride (it needs to be multiplied by size since it's a char pointer). * m4/eoshift3_4.c: Regenerated. * m4/eoshift3_8.c: Regenerated. 2005-06-28 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/22142 * gfortran.fortran-torture/execute/intrinsic_eoshift.f90: Add testcase for PR 22142. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101392 138bc75d-0d04-0410-961f-82ee72b054a4
* * target.h (invalid_conversion, invalid_unary_op,jsm282005-06-2819-132/+578
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101391 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Paul Brook <paul@codesourcery.com>pbrook2005-06-285-0/+1619
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101389 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-06-28 Adrian Straetling <straetling@de.ibm.com>uweigand2005-06-2818-153/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101386 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Paul Brook <paul@codesourcery.com>pbrook2005-06-2831-62/+609
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101385 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-decl.c (pop_scope): Move warning control into warning call.dj2005-06-287-128/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (diagnose_mismatched_decls): Likewise. (pushdecl): Likewise. (start_decl): Likewise. (grokparms): Likewise. (start_function): Likewise. (store_parm_decls_newstyle): Likewise. (store_parm_decls_oldstyle): Likewise. (finish_function): Likewise. (declspecs_add_scspec): Likewise. * c-format.c (decode_format_attr): Likewise. (maybe_read_dollar_number): Likewise. (avoid_dollar_number): Likewise. (finish_dollar_format_checking): Likewise. (check_format_info): Likewise. (check_format_info_main): Likewise. (check_format_types): Likewise. (format_type_warning): Likewise. * c-typeck.c (function_types_compatible_p): Likewise. (build_array_ref): Likewise. (convert_arguments): Likewise. (build_c_cast): Likewise. (store_init_value): Likewise. (process_init_element): Likewise. (c_start_case): Likewise. * stor-layout.c (finalize_record_size): Likewise. * tree-cfg.c (execute_warn_function_noreturn): Likewise. * tree-inline.c (expand_call_inline): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101384 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/22134rth2005-06-282-1/+7
| | | | | | | | * config/i386/i386.md (fist<mode>2_with_temp splitter): Clobber memory operand, not scratch register. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101383 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Andreas Krebbel <krebbel1@de.ibm.com>uweigand2005-06-284-21/+149
| | | | | | | | | | | | | | | | | * config/s390/s390.c (machine_function): New field has_landing_pad_p. (s390_set_has_landing_pad_p, s390_reg_clobbered_rtx, s390_regs_ever_clobbered): New functions. (s390_return_addr_rtx): Use get_hard_reg_initial_value. (s390_register_info, s390_init_frame_layout, s390_update_frame_layout): Use s390_regs_ever_clobbered. (s390_emit_prologue): Don't use r14 as temp reg if its content is used for builtin_return_address. * config/s390/s390.md ("exception_receiver"): New expander. * config/s390/s390-protos.h (s390_set_has_landing_pad_p): Prototype added. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101381 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Andreas Krebbel <krebbel1@de.ibm.com>uweigand2005-06-282-3/+10
| | | | | | | | * except.c (current_function_has_exception_handlers): Function description added and if statements merged. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101380 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.dg/dev_null.f90: Run test only on linux and solaris.fxcoudert2005-06-282-1/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101379 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.dg/slash_1.f90: New test.fxcoudert2005-06-282-0/+18
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101378 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (smaxv16qi3): Fix buffer overflow.rth2005-06-282-18/+39
| | | | | | | (sminv16qi3, umaxv8hi3, uminv8hi3): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101376 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_expand_vcondu_v2si): Generate properrth2005-06-283-4/+34
| | | | | | | | | | comparison operations. (ia64_expand_vecint_minmax): Fix size of xops. * config/ia64/vect.md (umax<VECINT>3): Fix fallback pattern typo. (vec_shl_<VECINT>, vec_shr_<VECINT>): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101375 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-vect-transform.c (get_initial_def_for_reduction): Use correctrth2005-06-289-70/+79
| | | | | | | | | | | | | | type for DEF and INIT_VAL. Pretend MIN/MAX need epilogue adjustment. * gcc.dg/vect/vect-reduc-1.c: Adjust test to properly validate MIN. * gcc.dg/vect/vect-reduc-1char.c: Likewise. * gcc.dg/vect/vect-reduc-1short.c: Likewise. * gcc.dg/vect/vect-reduc-2.c: Likewise. * gcc.dg/vect/vect-reduc-2char.c: Likewise. * gcc.dg/vect/vect-reduc-2short.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101374 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (vec_shl_<SSEMODEI>, vec_shr_<SSEMODEI>): New.rth2005-06-285-2/+108
| | | | | | | | | | (smaxv16qi3, umaxv8hi3, sminv16qi3, uminv8hi3): New. * gcc.dg/vect/vect-reduc-1short.c: Remove XFAIL. * gcc.dg/vect/vect-reduc-2char.c: Remove XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101373 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-vect-transform.c (vect_create_epilog_for_reduction): Removerth2005-06-282-10/+10
| | | | | | | duplicate little-endian adjustment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101372 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Kelley Cook <kcook@gcc.gnu.org>kcook2005-06-282-130/+346
| | | | | | | * doc/include/texinfo.tex: Import from upstream CVS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101370 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (cgraph_remove_node): Do not release function bodies untilhubicka2005-06-2812-26/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101369 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc/objc/ChangeLog]zlaski2005-06-285-0/+72
| | | | | | | | | | | | | | | | | | 2005-06-27 Ziemowit Laski <zlaski@apple.com> * objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO portion of TYPE_LANG_SPECIFIC info for all variants of a class before calling finish_struct(), and restore same TYPE_OBJC_INFO afterwards. [gcc/testsuite/ChangeLog] 2005-06-27 Ziemowit Laski <zlaski@apple.com> * obj-c++.dg/proto-lossage-5.mm: New. * objc.dg/proto-lossage-5.m: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101368 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Kelley Cook <kcook@gcc.gnu.org>kcook2005-06-283-15/+22
| | | | | | | | * doc/include/fdl.texi: Merge in changes from upstream. * doc/include/gpl.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101367 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF addresskcook2005-06-282-4/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101366 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 21959dnovillo2005-06-284-0/+67
| | | | | | | | | | | | | | * tree-ssa-loop-niter.c (scev_probably_wraps_p): Handle type casts between unsigned and signed types with different size or precision. testsuite/ChangeLog PR 21959 * gcc.dg/tree-ssa/pr21959.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101365 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2005-06-281-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101362 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-optimize.c (exercute_free_datastructures):hubicka2005-06-275-26/+67
| | | | | | | | | | | | | | | | | Do not disband implicit edges; do not attempt to build insn list; do not free cfg annotations. (execute_free_cfg_annotations); Disband implicit edges here; free cfg annotations here too. (pass_free_cfg_annotations); New pass. (init_tree_optimization_passes); Add pass_free_cfg_annotations. * tree-ssa-operands.c (free_ssa_operands); Recover; export. * tree-ssa-operands.h (free_ssa_operands); declare. * tree-ssa.c (delete_tree_ssa); Free SSA operand; mark stmt modified; kill PHI nodes. * tree-ssanames.c (release_defs): Kill addresses_taken. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101360 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h (basic_block_def): Kill rbi.hubicka2005-06-279-164/+157
| | | | | | | | | | | | | | | | | | | | | | | | | (reorder_block_def): Kill; Remove next field (replaced by aux); move other fields to ... (rtl_bb_info): ... here. * bb-reorder.c (find_traces, rotate_loop, find_traces_1_round, copy_bb, connect_traces, add_labels_and_missing_jumps fix_up_fall_thru_edges, fix_crossing_conditional_branches, duplicate_computed_gotos, partition_hot_cold_basic-blocks): Update to new fields. * cfg.c (initialize_bb_rbi): Kill. * cfglayout.c (record_effective_endpoints, fixup_reorder_chain, fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update. * cfgrtl.c (cfg_layout_create_basic_block): Do not initialize rbi. (try_redirect_by_replacing_jump): Update rbi references. (cfg_layout_split_block): Likewise. (cfg_layout_delete_block): Likewise. (cfg_layout_merge_blocks): Likewise. * function.c (thread_prologue_and_epilogue_insns): Likewise. * passes.c (rest_of_handle_sms): Likewise. * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101359 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/java/:tromey2005-06-272-14/+34
| | | | | | | | | | | | | | | | | | PR java/21540, PR java/13788: * parse.y (java_complete_lhs) <CASE_EXPR>: Use fold_constant_for_init. (patch_binop): Added 'folding' argument. Updated all callers. (patch_unaryop) <NOP_EXPR>: New case. (fold_constant_for_init) <NOP_EXPR>: Likewise. (fold_constant_for_init) <COND_EXPR>: Fix sense of test. libjava/: PR java/21540, PR java/13788: * testsuite/libjava.compile/pr21540.java: New file. * testsuite/libjava.compile/pr13788.java: New file. * testsuite/libjava.jacks/jacks.xfail: Updated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101358 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.c (rs6000_file_start): Note PPC405 erratumdje2005-06-274-2/+22
| | | | | | | | | | | in verbose_asm output. * config/rs6000/rs6000.h (PPC405_ERRATUM77): Bracket with CONFIG_PPC405CR. * config.gcc (powerpc with_which): Define CONFIG_PPC405CR for 405cr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101356 138bc75d-0d04-0410-961f-82ee72b054a4
* remove 2004 entries, which have been moved to ChangeLog.2004nathan2005-06-271-6879/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101353 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtin-attrs.def (DEF_ATTR_FOR_INT): Add for 5 and 6.jakub2005-06-2767-66/+10572
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101352 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (copy_value): Fix comment.jakub2005-06-272-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101351 138bc75d-0d04-0410-961f-82ee72b054a4
* * toplev.c (process_options): Use if (FRAME_GROWS_DOWNWARD)jakub2005-06-272-3/+4
| | | | | | | instead of preprocessor conditionals. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101350 138bc75d-0d04-0410-961f-82ee72b054a4
* * targhooks.c (default_hidden_stack_protect_fail): Fall back tojakub2005-06-274-5/+38
| | | | | | | | | | | | | | default_external_stack_protect_fail if visibility is not supported or not flag_pic. * config/i386/i386.c (ix86_stack_protect_fail): New function. (TARGET_STACK_PROTECT_FAIL): Define. * config/i386/i386.md (stack_protect_si): Change CLOBBER into SET to zero. (stack_protect_di): Likewise. Use %k2 instead of %2 to avoid invalid instruction xorl %rax, %rax. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101349 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.jakub2005-06-2722-60/+809
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101348 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/x86_64/abi/test_struct_returning.c: Adjust as returnmatz2005-06-272-2/+16
| | | | | | | slot is not merged if address escapes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101347 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-26 Jerry DeLisle <jvdelisle@verizon.net>jvdelisle2005-06-271-10/+10
| | | | | | | * fortran/ChangeLog: Cleaned up changelog from 2005-06-24. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101345 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2005-06-271-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101343 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud