aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2005-06-29re PR tree-optimization/22234 (verify_ssa failed with -fno-exceptions)Diego Novillo4-2/+314
PR 22234 * tree-ssa-copy.c (fini_copy_prop): Do not overwrite copy_of when following copy-of chains. testsuite/ChangeLog PR 22234 * gcc.dg/20050629-1.c: New test. From-SVN: r101450
2005-06-30function.h (struct function): Add saved blocks/unexpanded var list.Jan Hubicka5-41/+100
* function.h (struct function): Add saved blocks/unexpanded var list. * gimple-low.c (record_vars): Insert only VAR_DECLs. * tree-inline.c (add_lexical_block): Declare; do not clear sublocks. (remap_decl): Do not declare vars. (remap_block): Do not care inserting blocks. (remap_blocks): New function. (copy_body_r): Update debug info. (expand_call_inline): Duplicate callee block tree into caller; copy all the unexpanded_var_list. (save_body): Save unexpanded_var_list and blocks. * tree-optimize.c (tree_rest_of_optimization): Restore blocks/unexpanded_var_list. From-SVN: r101449
2005-06-30Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r101447.2
2005-06-29ia64.c (ia64_expand_vecint_minmax): Use us_minus and plus for V4HImode UMAX.Richard Henderson2-0/+17
* config/ia64/ia64.c (ia64_expand_vecint_minmax): Use us_minus and plus for V4HImode UMAX. From-SVN: r101441
2005-06-29c-tree.h (default_function_array_conversion): Take and return struct c_expr.Joseph Myers4-134/+171
* c-tree.h (default_function_array_conversion): Take and return struct c_expr. * c-typeck.c (default_function_array_conversion): Split into array_to_pointer_conversion and function_to_pointer_conversion. Take and return struct c_expr. (array_to_pointer_conversion): Do not handle type qualifiers or COMPOUND_EXPRs specially. (build_function_call): Call function_to_pointer_conversion for function designators. (build_unary_op): Call array_to_pointer_conversion, not default_function_array_conversion. (digest_init, output_init_element): Likewise. * c-parser.c: All callers of default_function_array_conversion changed. From-SVN: r101440
2005-06-29darwin.c (machopic_select_section): constant ObjC string objects now always ↵Ziemowit Laski10-15/+176
have type "__builtin_ObjCString". [gcc/ChangeLog] 2005-06-29 Ziemowit Laski <zlaski@apple.com> * config/darwin.c (machopic_select_section): constant ObjC string objects now always have type "__builtin_ObjCString". [gcc/objc/ChangeLog] 2005-06-29 Ziemowit Laski <zlaski@apple.com> * objc-act.c (objc_build_internal_const_str_type): New function. (check_string_class_template): Use objc_get_class_ivars() instead of TYPE_FIELDS() to retrieve ivar list. (AT_LEAST_AS_LARGE_AS): Check the size of each field's type rather than the field itself. (objc_build_string_object): Synthesize a "__builtin_ObjCString" type and use it to lay out compile-time string objects. * objc-act.h (OCTI_INTERNAL_CNST_STR_TYPE, internal_const_str_type): New. [gcc/testsuite/ChangeLog] 2005-06-29 Ziemowit Laski <zlaski@apple.com> * obj-c++.dg/const-str-1[0-1].mm: New. * objc.dg/const-str-1[0-1].m: New. From-SVN: r101437
2005-06-29target-supports.exp (check_effective_target_vect_no_int_max): Rename from ↵Richard Henderson7-14/+46
check_effective_target_vect_no_max. * lib/target-supports.exp (check_effective_target_vect_no_int_max): Rename from check_effective_target_vect_no_max. (check_effective_target_vect_no_int_add): New. * gcc.dg/vect/vect-13.c: Use vect_no_int_max. * gcc.dg/vect/vect-91.c: Use vect_no_int_add. * gcc.dg/vect/vect-reduc-3.c: Likewise. * gcc.dg/vect/vect-reduc-1.c: Use both. * gcc.dg/vect/vect-reduc-2.c: Likewise. From-SVN: r101435
2005-06-29* config/alpha/alpha.md (vec_shl_<VEC>, vec_shr_<VEC>): New.Richard Henderson2-0/+24
From-SVN: r101434
2005-06-29tree-vect-transform.c (vect_min_worthwhile_factor): Declare.Richard Henderson2-0/+39
* tree-vect-transform.c (vect_min_worthwhile_factor): Declare. (vect_create_epilog_for_reduction): Don't use vec_shr if the operation is emulated. (vectorizable_reduction): Duplicate vect_min_worthwhile_factor tests from vectorizable_operation. From-SVN: r101433
2005-06-29re PR rtl-optimization/21956 (useless symbols in object files)Caroline Tice2-4/+10
2005-06-29 Caroline Tice <ctice@apple.com> Fix PR 21956 * varasm.c (assemble_start_function): Add "L" to beginning of local labels, so assembler & linker treat them as local. From-SVN: r101432
2005-06-29i386.c (ix86_expand_int_vcond): Remove unsignedp argument.Richard Henderson6-127/+158
* config/i386/i386.c (ix86_expand_int_vcond): Remove unsignedp argument. Simplify canonicalization of condition. Use unsigned saturating subtraction for QI and HImode unsigned compares. Use bit arithmetic tricks for SImode unsigned compares. * config/i386/i386-protos.h (ix86_expand_int_vcond): Update decl. * config/i386/sse.md (SSEMODE14): New. (umaxv8hi3): Use us_minus+plus to avoid vcond. (umaxv4si3): New. (smax<SSEMODE14>3): Rename from smaxv16qi3 and macroize. (smin<SSEMODE14>3): Similarly with sminv16qi3. (umin<SSEMODE24>3): Similarly with uminv8hi3. * lib/target-supports.exp (check_effective_target_vect_no_max): Remove i386 and x86_64. From-SVN: r101429
2005-06-29dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Change GEN_INT to ↵Ian Lance Taylor2-1/+7
gen_int_for_mode when storing register size to memory. * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Change GEN_INT to gen_int_for_mode when storing register size to memory. From-SVN: r101428
2005-06-29re PR middle-end/21969 (ICE on float __attribute__((vector_size(2048))))Steve Ellcey2-0/+9
PR testsuite/21969 * gcc.dg/torture/pr21817.c: Use -fno-common for hppa*-*-* targets. From-SVN: r101426
2005-06-29mmintrin.h: Mark vector intrinsics always_inline.Stuart Hastings5-494/+501
2005-06-29 Stuart Hastings <stuart@apple.com> * gcc/config/i386/mmintrin.h: Mark vector intrinsics always_inline. * gcc/config/i386/emmintrin.h: Likewise. * gcc/config/i386/pmmintrin.h: Likewise. * gcc/config/i386/xmmintrin.h: Likewise. From-SVN: r101425
2005-06-29re PR middle-end/21969 (ICE on float __attribute__((vector_size(2048))))Steve Ellcey2-0/+9
PR middle-end/21969 * gcc.dg/vect/pr21969.c: New test. From-SVN: r101424
2005-06-29re PR middle-end/21969 (ICE on float __attribute__((vector_size(2048))))Steve Ellcey4-3/+17
PR middle-end/21969 * tree.h (TYPE_VECTOR_SUBPARTS): Change to shift expression. (SET_TYPE_VECTOR_SUBPARTS): New. * tree.c (make_vector_type): Replace TYPE_VECTOR_SUBPARTS with SET_TYPE_VECTOR_SUBPARTS. * tree-vect-transform.c (vect_transform_loop): Add cast. From-SVN: r101423
2005-06-29s390.c (s390_decompose_address): Accept invalid displacements for addresses ↵Andreas Krebbel3-14/+31
containing frame_pointer_rtx or... 2005-06-29 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.c (s390_decompose_address): Accept invalid displacements for addresses containing frame_pointer_rtx or virtual_stack_vars_rtx. (s390_frame_info): Replaced use of STARTING_FRAME_OFFSET. (s390_initial_elimination_offset): New offset when eliminating the soft frame pointer. * config/s390/s390.h (FRAME_GROWS_DOWNWARD): Defined as 1. (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Definitions changed. From-SVN: r101422
2005-06-29c-common.c (flag_next_runtime): Move...Ziemowit Laski7-13/+23
[gcc/ChangeLog] 2006-06-28 Ziemowit Laski <zlaski@apple.com> * c-common.c (flag_next_runtime): Move... * toplev.c (flag_next_runtime): ... here. * c-common.h (flag_next_runtime): Move... * flags.h (flag_next_runtime): ... here. * config/darwin-c.c: Include flags.h. * config/t-darwin (darwin-c.o): Depend on flags.h. From-SVN: r101415
2005-06-29linux-unwind.h (shmedia_fallback_frame_state): Disable aliasing warning with ↵Kaz Kojima2-2/+14
void * cast. * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Disable aliasing warning with void * cast. (sh_fallback_frame_state): Likewise. From-SVN: r101412
2005-06-29target.h (gcc_target): New field allocate_initial_value.Kaz Kojima9-55/+99
* 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
2005-06-28tree-vectorizer.c (vect_is_simple_reduction): Compare types using ↵Richard Henderson2-2/+8
TYPE_MAIN_VARIANT. * tree-vectorizer.c (vect_is_simple_reduction): Compare types using TYPE_MAIN_VARIANT. From-SVN: r101407
2005-06-28ia64.c (ia64_expand_vecint_compare): Decompose to EQ when using psubN.uuu.Richard Henderson5-5/+243
* config/ia64/ia64.c (ia64_expand_vecint_compare): Decompose to EQ when using psubN.uuu. From-SVN: r101405
2005-06-29Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r101403.2
2005-06-29gcc.texi: Update FSF address.Kelley Cook2-2/+6
2005-06-29 Kelley Cook <kcook@gcc.gnu.org> * doc/gcc.texi: Update FSF address. From-SVN: r101401
2005-06-29re PR c/22052 (redefinition of inline function succeeds)Eric Christopher8-35/+69
2005-06-28 Eric Christopher <echristo@redhat.com> 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. From-SVN: r101400
2005-06-28* tree-optimize.c (init_tree_optimization_passes): Fix typo.Diego Novillo2-1/+5
From-SVN: r101399
2005-06-28re PR libfortran/22142 ([4.0 only] eoshift: boundary not filled in correctly)Thomas Koenig2-0/+12
2005-06-28 Thomas Koenig <Thomas.Koenig@online.de> 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. From-SVN: r101398
2005-06-28rs6000.md (setmemsi): s/operand/operands/.Andrew Pinski2-1/+5
2005-06-28 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/rs6000.md (setmemsi): s/operand/operands/. From-SVN: r101397
2005-06-28ia64.c (ia64_expand_vecint_compare): Use unsigned saturating subtraction for ↵Richard Henderson2-128/+60
QI and HImode unsigned compares. * config/ia64/ia64.c (ia64_expand_vecint_compare): Use unsigned 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. From-SVN: r101396
2005-06-28rtlanal.c (nonzero_bits1): Use the mode of the value for determining ↵Richard Henderson2-3/+10
integral-ness for comparisons. * rtlanal.c (nonzero_bits1): Use the mode of the value for determining integral-ness for comparisons. From-SVN: r101395
2005-06-28rs6000.md (setmemsi): Fix operand 2.Andrew Pinski2-1/+5
2005-06-28 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/rs6000.md (setmemsi): Fix operand 2. From-SVN: r101394
2005-06-2820030708-1.c: Remove static from test function.Richard Henderson9-8/+22
* gcc.dg/tree-ssa/20030708-1.c: Remove static from test function. * 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. From-SVN: r101393
2005-06-28re PR libfortran/22142 ([4.0 only] eoshift: boundary not filled in correctly)Thomas Koenig2-0/+14
2005-06-28 Thomas Koenig <Thomas.Koenig@online.de> 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. From-SVN: r101392
2005-06-28target.h (invalid_conversion, [...]): New hooks.Joseph Myers19-132/+578
* 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
2005-06-28Makefile.in: Set and use UNWIND_H.Paul Brook5-0/+1619
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: r101389
2005-06-28builtins.c: (expand_builtin_memset): Rewrite to support ↵Adrian Straetling18-153/+237
'set_storage_via_setmem'. 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
2005-06-28Makefile.in: Set and use UNWIND_H.Paul Brook31-62/+609
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
2005-06-28c-decl.c (pop_scope): Move warning control into warning call.DJ Delorie7-128/+188
* c-decl.c (pop_scope): Move warning control into warning call. (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. From-SVN: r101384
2005-06-28re PR target/22134 (vf_hue.c:54: internal compiler error: in ↵Uros Bizjak2-1/+7
final_scan_insn, at final.c:2419) PR target/22134 * config/i386/i386.md (fist<mode>2_with_temp splitter): Clobber memory operand, not scratch register. From-SVN: r101383
2005-06-28s390.c (machine_function): New field has_landing_pad_p.Andreas Krebbel4-21/+149
2005-06-28 Andreas Krebbel <krebbel1@de.ibm.com> * 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. From-SVN: r101381
2005-06-28except.c (current_function_has_exception_handlers): Function description ↵Andreas Krebbel2-3/+10
added and if statements merged. 2005-06-28 Andreas Krebbel <krebbel1@de.ibm.com> * except.c (current_function_has_exception_handlers): Function description added and if statements merged. From-SVN: r101380
2005-06-28* gfortran.dg/dev_null.f90: Run test only on linux and solaris.Francois-Xavier Coudert2-1/+8
From-SVN: r101379
2005-06-28* gfortran.dg/slash_1.f90: New test.Francois-Xavier Coudert2-0/+18
From-SVN: r101378
2005-06-28sse.md (smaxv16qi3): Fix buffer overflow.Richard Henderson2-18/+39
* config/i386/sse.md (smaxv16qi3): Fix buffer overflow. (sminv16qi3, umaxv8hi3, uminv8hi3): Likewise. From-SVN: r101376
2005-06-28ia64.c (ia64_expand_vcondu_v2si): Generate proper comparison operations.Richard Henderson3-4/+34
* config/ia64/ia64.c (ia64_expand_vcondu_v2si): Generate proper 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. From-SVN: r101375
2005-06-28tree-vect-transform.c (get_initial_def_for_reduction): Use correct type for ↵Richard Henderson9-70/+79
DEF and INIT_VAL. * tree-vect-transform.c (get_initial_def_for_reduction): Use correct 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. From-SVN: r101374
2005-06-27sse.md (vec_shl_<SSEMODEI>, [...]): New.Richard Henderson5-2/+108
* config/i386/sse.md (vec_shl_<SSEMODEI>, vec_shr_<SSEMODEI>): New. (smaxv16qi3, umaxv8hi3, sminv16qi3, uminv8hi3): New. * gcc.dg/vect/vect-reduc-1short.c: Remove XFAIL. * gcc.dg/vect/vect-reduc-2char.c: Remove XFAIL. From-SVN: r101373
2005-06-27tree-vect-transform.c (vect_create_epilog_for_reduction): Remove duplicate ↵Richard Henderson2-10/+10
little-endian adjustment. * tree-vect-transform.c (vect_create_epilog_for_reduction): Remove duplicate little-endian adjustment. From-SVN: r101372
2005-06-28texinfo.tex: Import from upstream CVS.Kelley Cook2-130/+346
2005-06-28 Kelley Cook <kcook@gcc.gnu.org> * doc/include/texinfo.tex: Import from upstream CVS. From-SVN: r101370
2005-06-28cgraph.c (cgraph_remove_node): Do not release function bodies until full ↵Jan Hubicka12-26/+308
cgraph is built. * 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