Thomas Koenig
0f363a3b8c
re PR libfortran/22142 ([4.0 only] eoshift: boundary not filled in correctly)
...
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-28 21:57:45 +00:00
Joseph Myers
4de67c26fe
target.h (invalid_conversion, [...]): New hooks.
...
* 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-28 22:55:24 +01:00
Paul Brook
2a75c0b6d2
Makefile.in: Set and use UNWIND_H.
...
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-28 20:06:39 +00:00
Adrian Straetling
57e84f1840
builtins.c: (expand_builtin_memset): Rewrite to support '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-28 19:56:23 +00:00
Paul Brook
617a1b7144
Makefile.in: Set and use UNWIND_H.
...
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-28 19:52:27 +00:00
DJ Delorie
3176a0c28f
c-decl.c (pop_scope): Move warning control into warning call.
...
* 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-28 15:33:23 -04:00
Uros Bizjak
cec471db31
re PR target/22134 (vf_hue.c:54: internal compiler error: in 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-28 12:19:27 -07:00
Robin Green
832a0afe9c
re PR libgcj/22189 (Table Full in gcj-dbtool if -m option used with smallest possible input)
...
2005-06-28 Robin Green <greenrd@greenrd.org>
PR java/22189
* gnu/gcj/runtime/PersistentByteMap.java (init): Fix rounding
error.
From-SVN: r101382
2005-06-28 14:31:22 +00:00
Andreas Krebbel
7bcebb25b9
s390.c (machine_function): New field has_landing_pad_p.
...
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-28 14:25:17 +00:00
Andreas Krebbel
16c5f6e109
except.c (current_function_has_exception_handlers): Function description 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 14:19:42 +00:00
Francois-Xavier Coudert
8234b3bdf8
* gfortran.dg/dev_null.f90: Run test only on linux and solaris.
...
From-SVN: r101379
2005-06-28 12:51:09 +00:00
Francois-Xavier Coudert
0a0a8cf7f5
* gfortran.dg/slash_1.f90: New test.
...
From-SVN: r101378
2005-06-28 11:47:15 +00:00
Francois-Xavier Coudert
e082bf48ca
re PR libfortran/22170 ([4.0 only] Handle format slash error)
...
PR libfortran/22170
* io/transfer.c (formatted_transfer): Do not iterate on the
repeat count of a FMT_SLASH, since this is already done in
next_format().
From-SVN: r101377
2005-06-28 10:43:23 +00:00
Richard Henderson
2eef1bf70e
sse.md (smaxv16qi3): Fix buffer overflow.
...
* config/i386/sse.md (smaxv16qi3): Fix buffer overflow.
(sminv16qi3, umaxv8hi3, uminv8hi3): Likewise.
From-SVN: r101376
2005-06-28 02:00:42 -07:00
Richard Henderson
cabddb237f
ia64.c (ia64_expand_vcondu_v2si): Generate proper comparison operations.
...
* 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-28 00:46:40 -07:00
Richard Henderson
9009820b36
tree-vect-transform.c (get_initial_def_for_reduction): Use correct type for 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-28 00:33:11 -07:00
Richard Henderson
69a2964c42
sse.md (vec_shl_<SSEMODEI>, [...]): New.
...
* 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-27 23:16:57 -07:00
Richard Henderson
46ae108707
tree-vect-transform.c (vect_create_epilog_for_reduction): Remove duplicate little-endian adjustment.
...
* tree-vect-transform.c (vect_create_epilog_for_reduction): Remove
duplicate little-endian adjustment.
From-SVN: r101372
2005-06-27 22:15:11 -07:00
Kelley Cook
54c885c5f8
texinfo.tex: Import from upstream CVS.
...
2005-06-28 Kelley Cook <kcook@gcc.gnu.org>
* doc/include/texinfo.tex: Import from upstream CVS.
From-SVN: r101370
2005-06-28 02:51:12 +00:00
Jan Hubicka
d63db217ae
cgraph.c (cgraph_remove_node): Do not release function bodies until full 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
2005-06-28 02:20:29 +00:00
Ziemowit Laski
2aba33dd6f
objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO portion of TYPE_LANG_SPECIFIC info for all variants of...
...
[gcc/objc/ChangeLog]
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.
From-SVN: r101368
2005-06-28 02:01:08 +00:00
Kelley Cook
0d44cd2c64
fdl.texi: Merge in changes from upstream.
...
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
2005-06-28 01:46:41 +00:00
R. Kelley Cook
957973e921
Update FSF address
...
From-SVN: r101366
2005-06-28 00:56:07 +00:00
Diego Novillo
3eca1bd776
re PR tree-optimization/21959 (vrp miscompiles Ada front-end, drops loop exit test in well-defined wrap-around circumstances)
...
PR 21959
* 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.
From-SVN: r101365
2005-06-27 20:52:35 -04:00
GCC Administrator
5ab2b3e44e
Daily bump.
...
[[Split portion of a mixed commit.]]
From-SVN: r101362.2
2005-06-28 00:16:18 +00:00
Jan Hubicka
6844185d06
tree-optimize.c (exercute_free_datastructures): Do not disband implicit edges...
...
* tree-optimize.c (exercute_free_datastructures):
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.
From-SVN: r101360
2005-06-27 23:33:02 +00:00
Jan Hubicka
370369e1a7
basic-block.h (basic_block_def): Kill rbi.
...
* basic-block.h (basic_block_def): Kill rbi.
(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.
From-SVN: r101359
2005-06-27 23:06:33 +00:00
Tom Tromey
4ebe7d9317
PR java/21540, PR java/13788:
...
gcc/java/:
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.
From-SVN: r101358
2005-06-27 18:40:16 +00:00
Keith Seitz
d994b336c8
Okay, let's see if CVS can actually put these in the right place...
...
* gnu/classpath/jdwp/exception/VmDeadException.java: New file.
* gnu/classpath/jdwp/exception/NotImplementedException.java: New file.
* gnu/classpath/jdwp/exception/JdwpInternalErrorException.java: New
file.
* gnu/classpath/jdwp/exception/JdwpException.java: New file.
* gnu/classpath/jdwp/exception/InvalidThreadGroupException.java: New
file.
* gnu/classpath/jdwp/exception/InvalidThreadException.java: New file.
* gnu/classpath/jdwp/exception/InvalidStringException.java: New file
* gnu/classpath/jdwp/exception/InvalidObjectException.java: New file.
* gnu/classpath/jdwp/exception/InvalidEventTypeException.java: New
file.
* gnu/classpath/jdwp/exception/InvalidCountException.java: New file.
* gnu/classpath/jdwp/exception/InvalidClassException.java: New file.
From-SVN: r101357
2005-06-27 18:02:48 +00:00
David Edelsohn
b0bfee6eb4
rs6000.c (rs6000_file_start): Note PPC405 erratum in verbose_asm output.
...
* config/rs6000/rs6000.c (rs6000_file_start): Note PPC405 erratum
in verbose_asm output.
* config/rs6000/rs6000.h (PPC405_ERRATUM77): Bracket with
CONFIG_PPC405CR.
* config.gcc (powerpc with_which): Define CONFIG_PPC405CR for
405cr.
From-SVN: r101356
2005-06-27 13:17:16 -04:00
Paolo Carlini
ec5537cc33
re PR libstdc++/22102 ([DR233] Implement resolution of DR 233)
...
2005-06-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/22102
* include/bits/stl_tree.h (insert_unique(iterator, const _Val&),
insert_equal((iterator, const _Val&)): Reimplement to check both
before and after, as per the algorithm "ignore hint if wrong" of
ISO paper N1780.
From-SVN: r101355
2005-06-27 16:35:49 +00:00
Benjamin Kosnik
fd1e17264b
documentation.html: Add link for policy based associative containers docs.
...
2005-06-27 Benjamin Kosnik <bkoz@redhat.com>
Ami Tavory <pbassoc@gmail.com>
* docs/html/documentation.html: Add link for policy based
associative containers docs.
* docs/html/ext/pb_assoc/Std_hash_set_impl.jpg: New.
* docs/html/ext/pb_assoc/acks.html: New.
* docs/html/ext/pb_assoc/balls_and_bins.jpg: New.
* docs/html/ext/pb_assoc/basic_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html: New.
* docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html: New.
* docs/html/ext/pb_assoc/basic_ds_tag.html: New.
* docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/basic_hash_ds_tag.html: New.
* docs/html/ext/pb_assoc/basic_invalidation_guarantee.html: New.
* docs/html/ext/pb_assoc/basic_ms_tag.html: New.
* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/
basic_tree_assoc_cntnr_const_node_iterator.html: New.
* docs/html/ext/pb_assoc/
basic_tree_assoc_cntnr_node_iterator.html: New.
* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html: New.
* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html: New.
* docs/html/ext/pb_assoc/basic_tree_ds_tag.html: New.
* docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/cc_hash_ds_tag.html: New.
* docs/html/ext/pb_assoc/
cc_hash_max_collision_check_resize_trigger.html: New.
* docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg: New.
* docs/html/ext/pb_assoc/cd.jpg: New.
* docs/html/ext/pb_assoc/component_requirements.html: New.
* docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html: New.
* docs/html/ext/pb_assoc/compound_data_type.html: New.
* docs/html/ext/pb_assoc/compound_ds_tag.html: New.
* docs/html/ext/pb_assoc/concepts.html: New.
* docs/html/ext/pb_assoc/contact.html: New.
* docs/html/ext/pb_assoc/counter_update_metadata.html: New.
* docs/html/ext/pb_assoc/counter_update_policy.html: New.
* docs/html/ext/pb_assoc/data_enabled_ms_tag.html: New.
* docs/html/ext/pb_assoc/design.html: New.
* docs/html/ext/pb_assoc/different_underlying_dss.jpg: New.
* docs/html/ext/pb_assoc/direct_mask_range_hashing.html: New.
* docs/html/ext/pb_assoc/direct_mod_range_hashing.html: New.
* docs/html/ext/pb_assoc/disclaimer.html: New.
* docs/html/ext/pb_assoc/ds_gen.html: New.
* docs/html/ext/pb_assoc/ds_tag_cd.jpg: New.
* docs/html/ext/pb_assoc/ds_traits.html: New.
* docs/html/ext/pb_assoc/embedded_lists_1.jpg: New.
* docs/html/ext/pb_assoc/embedded_lists_2.jpg: New.
* docs/html/ext/pb_assoc/examples.html: New.
* docs/html/ext/pb_assoc/exception_guarantees_specifics.html: New.
* docs/html/ext/pb_assoc/find_invalidation_guarantee.html: New.
* docs/html/ext/pb_assoc/find_iterators_cd.jpg: New.
* docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg: New.
* docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg: New.
* docs/html/ext/pb_assoc/generics.html: New.
* docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/gp_hash_ds_tag.html: New.
* docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg: New.
* docs/html/ext/pb_assoc/hash_and_probe_general.html: New.
* docs/html/ext/pb_assoc/hash_based_containers.html: New.
* docs/html/ext/pb_assoc/hash_cd.jpg: New.
* docs/html/ext/pb_assoc/hash_exponential_size_policy.html: New.
* docs/html/ext/pb_assoc/hash_fn.html: New.
* docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html: New.
* docs/html/ext/pb_assoc/hash_policies.html: New.
* docs/html/ext/pb_assoc/hash_policy_cd.jpg: New.
* docs/html/ext/pb_assoc/hash_prime_size_policy.html: New.
* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg: New.
* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg: New.
* docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg: New.
* docs/html/ext/pb_assoc/hash_standard_resize_policy.html: New.
* docs/html/ext/pb_assoc/home.html: New.
* docs/html/ext/pb_assoc/index.html: New.
* docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg: New.
* docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg: New.
* docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg: New.
* docs/html/ext/pb_assoc/insert_type_methods.html: New.
* docs/html/ext/pb_assoc/interface.html: New.
* docs/html/ext/pb_assoc/interval_node_invariants.jpg: New.
* docs/html/ext/pb_assoc/introduction.html: New.
* docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg: New.
* docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg: New.
* docs/html/ext/pb_assoc/lib_download.html: New.
* docs/html/ext/pb_assoc/linear_probe_fn.html: New.
* docs/html/ext/pb_assoc/list_updates.html: New.
* docs/html/ext/pb_assoc/lu_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/lu_based_containers.html: New.
* docs/html/ext/pb_assoc/lu_cd.jpg: New.
* docs/html/ext/pb_assoc/lu_ds_tag.html: New.
* docs/html/ext/pb_assoc/lu_ops.jpg: New.
* docs/html/ext/pb_assoc/mmap_value_utils.html: New.
* docs/html/ext/pb_assoc/motivation.html: New.
* docs/html/ext/pb_assoc/move_to_front_update_metadata.html: New.
* docs/html/ext/pb_assoc/move_to_front_update_policy.html: New.
* docs/html/ext/pb_assoc/ms_cd.jpg: New.
* docs/html/ext/pb_assoc/ms_gen.html: New.
* docs/html/ext/pb_assoc/ms_tag_cd.jpg: New.
* docs/html/ext/pb_assoc/ms_traits.html: New.
* docs/html/ext/pb_assoc/node_invariant_invalidations.jpg: New.
* docs/html/ext/pb_assoc/node_invariants.html: New.
* docs/html/ext/pb_assoc/node_invariants.jpg: New.
* docs/html/ext/pb_assoc/non_unique_mapping.html: New.
* docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg: New.
* docs/html/ext/pb_assoc/null_data_type.html: New.
* docs/html/ext/pb_assoc/null_hash_fn.html: New.
* docs/html/ext/pb_assoc/null_probe_fn.html: New.
* docs/html/ext/pb_assoc/order_by_key.html: New.
* docs/html/ext/pb_assoc/order_statistics_key.html: New.
* docs/html/ext/pb_assoc/order_statistics_key_cmp.html: New.
* docs/html/ext/pb_assoc/order_statistics_node_updator.html: New.
* docs/html/ext/pb_assoc/ov_tree_ds_tag.html: New.
* docs/html/ext/pb_assoc/overview.html: New.
* docs/html/ext/pb_assoc/pb_assoc_ex.html: New.
* docs/html/ext/pb_assoc/portability.html: New.
* docs/html/ext/pb_assoc/quadratic_probe_fn.html: New.
* docs/html/ext/pb_assoc/range_invalidation_guarantee.html: New.
* docs/html/ext/pb_assoc/rank_node_invariants.jpg: New.
* docs/html/ext/pb_assoc/rationale_null_node_updator.jpg: New.
* docs/html/ext/pb_assoc/rb_tree_ds_tag.html: New.
* docs/html/ext/pb_assoc/reference_iterator.jpg: New.
* docs/html/ext/pb_assoc/references.html: New.
* docs/html/ext/pb_assoc/regression_tests.html: New.
* docs/html/ext/pb_assoc/resize_general.html: New.
* docs/html/ext/pb_assoc/resize_policies.html: New.
* docs/html/ext/pb_assoc/resize_policy_cd.jpg: New.
* docs/html/ext/pb_assoc/restoring_node_invariants.jpg: New.
* docs/html/ext/pb_assoc/sample_node_updator.hpp: New.
* docs/html/ext/pb_assoc/sample_probe_fn.hpp: New.
* docs/html/ext/pb_assoc/sample_probe_fn.html: New.
* docs/html/ext/pb_assoc/sample_range_hashing.hpp: New.
* docs/html/ext/pb_assoc/sample_range_hashing.html: New.
* docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp: New.
* docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: New.
* docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp: New.
* docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: New.
* docs/html/ext/pb_assoc/sample_resize_policy.hpp: New.
* docs/html/ext/pb_assoc/sample_resize_policy.html: New.
* docs/html/ext/pb_assoc/sample_resize_trigger.hpp: New.
* docs/html/ext/pb_assoc/sample_size_policy.hpp: New.
* docs/html/ext/pb_assoc/sample_update_policy.hpp: New.
* docs/html/ext/pb_assoc/size_policies_general.html: New.
* docs/html/ext/pb_assoc/splay_tree_ds_tag.html: New.
* docs/html/ext/pb_assoc/timing_tests.html: New.
* docs/html/ext/pb_assoc/toc.html: New.
* docs/html/ext/pb_assoc/tree_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/
tree_assoc_cntnr_const_node_iterator.html: New.
* docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: New.
* docs/html/ext/pb_assoc/tree_based_containers.html: New.
* docs/html/ext/pb_assoc/tree_cd.jpg: New.
* docs/html/ext/pb_assoc/trigger_policies_general.html: New.
* docs/html/ext/pb_assoc/tutorial.html: New.
* docs/html/ext/pb_assoc/update_seq_diagram.jpg: New.
* include/Makefile.am: Add assoc_srcdir, assoc_builddir, assoc_subdir,
assoc_headers.
* include/Makefile.in: Regenerate.
* include/ext/typelist.h: New.
* include/ext/pb_assoc/assoc_cntnr.hpp: New.
* include/ext/pb_assoc/data_type.hpp: New.
* include/ext/pb_assoc/ds_trait.hpp: New.
* include/ext/pb_assoc/exception.hpp: New.
* include/ext/pb_assoc/hash_policy.hpp: New.
* include/ext/pb_assoc/lu_policy.hpp: New.
* include/ext/pb_assoc/ms_trait.hpp: New.
* include/ext/pb_assoc/tree_policy.hpp: New.
* include/ext/pb_assoc/trivial_iterator_def.hpp: New.
* include/ext/pb_assoc/detail/assoc_cntnr_base.hpp: New.
* include/ext/pb_assoc/detail/cond_dealtor.hpp: New.
* include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ds_trait_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_types_traits.hpp: New.
* include/ext/pb_assoc/detail/map_debug_base.hpp: New.
* include/ext/pb_assoc/detail/mapping_level_imp.hpp: New.
* include/ext/pb_assoc/detail/ms_category_imp.hpp: New.
* include/ext/pb_assoc/detail/ms_trait_imp.hpp: New.
* include/ext/pb_assoc/detail/order_statistics_imp.hpp: New.
* include/ext/pb_assoc/detail/standard_policies.hpp: New.
* include/ext/pb_assoc/detail/standard_sizes.hpp: New.
* include/ext/pb_assoc/detail/type_utils.hpp: New.
* include/ext/pb_assoc/detail/typelist.hpp: New.
* include/ext/pb_assoc/detail/types_traits.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
d_find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
d_insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
resize_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
node_iteration_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
r_erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
r_range_iteration_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
range_iteration_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
bin_search_tree_.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
cond_dtor_entry_dealtor.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
cond_key_dtor_entry_dealtor.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
r_erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
cond_key_dtor_entry_dealtor.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
constructor_destructor_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
constructor_destructor_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
debug_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
debug_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
erase_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
erase_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
find_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
find_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
insert_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
insert_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
resize_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
resize_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp: New.
* include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp: New.
* include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp: New.
* include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
constructor_destructor_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
constructor_destructor_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
debug_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
debug_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
erase_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
erase_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
find_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
find_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
insert_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
insert_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
resize_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
resize_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/
direct_mask_range_hashing_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/
direct_mod_range_hashing_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/
mask_based_range_hashing.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp: New.
* include/ext/pb_assoc/detail/lu_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_assoc_cntnr/
policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_policy/
counter_lu_metadata_imp.hpp: New.
* include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/node.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
cc_hash_max_collision_resize_trigger_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
hash_exponential_size_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
hash_prime_size_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
hash_standard_resize_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
ht_prime_size_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/size_base.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/node.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/tree_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/tree_policy/
null_node_updator_imp.hpp: New.
* include/ext/pb_assoc/detail/tree_policy/
order_statistics_imp.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_append.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_apply.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_contains.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_filter.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_transform.hpp: New.
* include/ext/pb_assoc/detail/typelist/
typelist_typelist_append.hpp: New.
* include/ext/pb_assoc/detail/unordered_iterator/
const_find_iterator.hpp: New.
* include/ext/pb_assoc/detail/unordered_iterator/
const_iterator.hpp: New.
* include/ext/pb_assoc/detail/unordered_iterator/
find_iterator.hpp: New.
* include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
constructor_destructor_and_related.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
erase_if_pred.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
invalidation_guarantee_selector.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
it_value_type_traits.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
iterator_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
value_type_adapter.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
value_type_traits.hpp: New.
* testsuite/Makefile.am (CLEANFILES): Add .o, .dat, .cc.
* testsuite/Makefile.in: Regenerate.
* testsuite/testsuite_common_types.h: New.
* testsuite/testsuite_visualization.h: New.
* testsuite/ext/pb_assoc/example/basic_map.cc: New.
* testsuite/ext/pb_assoc/example/basic_multimap.cc: New.
* testsuite/ext/pb_assoc/example/basic_set.cc: New.
* testsuite/ext/pb_assoc/example/ds_traits.cc: New.
* testsuite/ext/pb_assoc/example/erase_if.cc: New.
* testsuite/ext/pb_assoc/example/extract_key.cc: New.
* testsuite/ext/pb_assoc/example/hash_find_neg.cc: New.
* testsuite/ext/pb_assoc/example/hash_illegal_resize.cc: New.
* testsuite/ext/pb_assoc/example/hash_initial_size.cc: New.
* testsuite/ext/pb_assoc/example/hash_load_set_change.cc: New.
* testsuite/ext/pb_assoc/example/hash_mod.cc: New.
* testsuite/ext/pb_assoc/example/hash_resize.cc: New.
* testsuite/ext/pb_assoc/example/hash_resize_neg.cc: New.
* testsuite/ext/pb_assoc/example/hash_shift_mask.cc: New.
* testsuite/ext/pb_assoc/example/mapping_level.cc: New.
* testsuite/ext/pb_assoc/example/mapping_level_neg.cc: New.
* testsuite/ext/pb_assoc/example/ms_traits.cc: New.
* testsuite/ext/pb_assoc/example/ranged_hash.cc: New.
* testsuite/ext/pb_assoc/example/store_hash.cc: New.
* testsuite/ext/pb_assoc/example/tree_intervals.cc: New.
* testsuite/ext/pb_assoc/example/tree_join.cc: New.
* testsuite/ext/pb_assoc/example/tree_order_statistics.cc: New.
* testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc: New.
* testsuite/ext/pb_assoc/example/tree_split.cc: New.
* testsuite/performance/20_util/allocator/(insert.cc,
insert_insert.cc, list_sort_search.cc, map_mt_find.cc, map_thread.cc,
producer_consumer.cc): Recast to use typelists and move to...
* testsuite/performance/23_containers/find/map.cc: New.
* testsuite/performance/23_containers/index/map.cc: New.
* testsuite/performance/23_containers/insert/associative.cc: New.
* testsuite/performance/23_containers/insert/sequence.cc: New.
* testsuite/performance/23_containers/insert_erase/associative.cc: New.
* testsuite/performance/23_containers/producer_consumer/
(associative.cc, sequence.cc): New.
* testsuite/performance/23_containers/sort_search/list.cc: New.
* testsuite/performance/23_containers/container_benchmark.cc: Remove.
* testsuite/performance/23_containers/map_create_fill.cc: Move...
* testsuite/performance/23_containers/create/map.cc: ...here.
* testsuite/performance/23_containers/set_create_from_sorted.cc: Move.
* testsuite/performance/23_containers/create_from_sorted/set.cc: here.
* testsuite/performance/23_containers/list_create_fill_sort.cc: Move...
* testsuite/performance/23_containers/create_sort/list.cc: ...here.
* testsuite/performance/23_containers/set_insert_from_sorted.cc: Move.
* testsuite/performance/23_containers/insert_from_sorted/set.cc: here.
Co-Authored-By: Ami Tavory <pbassoc@gmail.com>
From-SVN: r101354
2005-06-27 15:33:38 +00:00
Nathan Sidwell
d4d3b0fffa
remove 2004 entries, which have been moved to ChangeLog.2004
...
From-SVN: r101353
2005-06-27 12:42:31 +00:00
Jakub Jelinek
10a0d49571
builtin-attrs.def (DEF_ATTR_FOR_INT): Add for 5 and 6.
...
* 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
2005-06-27 14:17:39 +02:00
Jakub Jelinek
de16a5b6a4
* regrename.c (copy_value): Fix comment.
...
From-SVN: r101351
2005-06-27 10:11:00 +02:00
Jakub Jelinek
fd5431bc03
toplev.c (process_options): Use if (FRAME_GROWS_DOWNWARD) instead of preprocessor conditionals.
...
* toplev.c (process_options): Use if (FRAME_GROWS_DOWNWARD)
instead of preprocessor conditionals.
From-SVN: r101350
2005-06-27 10:05:27 +02:00
Jakub Jelinek
7ce918c59e
targhooks.c (default_hidden_stack_protect_fail): Fall back to default_external_stack_protect_fail if...
...
* targhooks.c (default_hidden_stack_protect_fail): Fall back to
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.
From-SVN: r101349
2005-06-27 10:03:26 +02:00
Richard Henderson
7d69de618e
c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.
...
* 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
2005-06-27 09:41:16 +02:00
Michael Matz
2bcf2e2bf1
test_struct_returning.c: Adjust as return slot is not merged if address escapes.
...
* gcc.target/x86_64/abi/test_struct_returning.c: Adjust as return
slot is not merged if address escapes.
From-SVN: r101347
2005-06-27 06:42:32 +00:00
Jerry DeLisle
dc9207b34e
2005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
...
libgfortran/ChangeLog: Clean up format for entry of 2005-06-24.
From-SVN: r101346
2005-06-27 01:27:18 +00:00
Jerry DeLisle
ce5d6962f8
ChangeLog: Cleaned up changelog from 2005-06-24.
...
2005-06-26 Jerry DeLisle <jvdelisle@verizon.net>
* fortran/ChangeLog: Cleaned up changelog from 2005-06-24.
From-SVN: r101345
2005-06-27 00:43:26 +00:00
GCC Administrator
0f122dadc6
Daily bump.
...
[[Split portion of a mixed commit.]]
From-SVN: r101343.2
2005-06-27 00:16:49 +00:00
Kaveh R. Ghazi
10a22b1107
re PR c/21911 (named parameter mistakenly identified as sentinel)
...
PR c/21911
* c-common.c (check_function_sentinel): Pass in named argument
list, skip over named arguments before looking for a sentinel.
(check_function_arguments): Pass in named argument list.
* c-common.h (check_function_arguments): Likewise.
* c-typeck.c (build_function_call): Likewise.
cp:
* call.c (build_over_call): Pass in named argument list to
`check_function_arguments'.
* typeck.c (build_function_call): Likewise.
testsuite:
PR c/21911
* gcc.dg/format/sentinel-1.c: Update. Fix execl* calls.
From-SVN: r101341
2005-06-26 21:54:24 +00:00
Kaveh R. Ghazi
82e5a12a58
genautomata.c (decl_mode_check_failed, [...]): Add noreturn attribute.
...
* genautomata.c (decl_mode_check_failed,
regexp_mode_check_failed): Add noreturn attribute.
cp:
* cp-tree.h (lang_check_failed): Add noreturn attribute.
From-SVN: r101340
2005-06-26 21:50:32 +00:00
Thomas Koenig
8b41d4bf17
Corrected PR number in ChangeLog.
...
From-SVN: r101339
2005-06-26 21:50:29 +00:00
Kazu Hirata
987b67bc55
builtins.c, [...]: Use fold_buildN instead of fold (buildN (...)).
...
* builtins.c, c-common.c, c-convert.c, c-decl.c, c-typeck.c,
convert.c, lambda-code.c, predict.c, tree-cfg.c,
tree-complex.c, tree-data-ref.c, tree-if-conv.c,
tree-mudflap.c, tree-scalar-evolution.c, tree-ssa-ccp.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
tree-ssa-loop-manip.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
tree-vect-analyze.c, tree-vect-transform.c, tree-vectorizer.c,
tree.c: Use fold_buildN instead of fold (buildN (...)).
From-SVN: r101338
2005-06-26 21:21:34 +00:00
Andreas Tobler
d967c45e83
xfails: Updated to reflect current state of mauve and libjava.
...
2005-06-26 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libjava.mauve/xfails: Updated to reflect current state
of mauve and libjava.
From-SVN: r101337
2005-06-26 22:41:31 +02:00
Kazu Hirata
f341de7bf6
cfg.c, [...]: Fix comment typos.
...
* cfg.c, tree-vect-transform.c, tree.def: Fix comment typos.
* doc/invoke.texi: Fix typos.
From-SVN: r101336
2005-06-26 18:43:05 +00:00
Gerald Pfeifer
5b65d35163
install.texi (Specific): Do not specify the concrete versions of GCC provided by Cygwin.
...
* 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
2005-06-26 13:40:20 +00:00
Kazu Hirata
69532b6079
arc-protos.c: Remove the prototype for arc_finalize_pic.
...
* config/arc/arc-protos.c: Remove the prototype for
arc_finalize_pic.
* config/arc/arc.c (arc_finalize_pic): Remove.
* config/arc/arc.h (FINALIZE_PIC): Likewise.
* config/bfin/bfin.h (FINALIZE_PIC): Likewise.
* config/rs6000/rs6000.h (FINALIZE_PIC): Likewise.
From-SVN: r101334
2005-06-26 11:42:11 +00:00