Eric Botcazou
bc6d3f91a3
function.h (struct stack_usage): Remove dynamic_alloc_count field.
...
* function.h (struct stack_usage): Remove dynamic_alloc_count field.
(current_function_dynamic_alloc_count): Delete.
* builtins.c (expand_builtin_setjmp_setup): Do not set calls_setjmp.
(expand_builtin_nonlocal_goto): Remove obsolete comment.
(expand_builtin_update_setjmp_buf): Remove dead code.
* cse.c (cse_find_path): Do not follow a single abnormal incoming edge.
* explow.c (allocate_dynamic_stack_space): Remove SETJMP_VIA_SAVE_AREA
support.
* function.c (instantiate_virtual_regs): Likewise.
* postreload-gcse.c (bb_has_well_behaved_predecessors): Return false
for a block with a single abnormal incoming edge.
* config/sparc/sparc.h (STACK_SAVEAREA_MODE): Define.
* config/sparc/sparc-protos.h (load_got_register): Declare.
* config/sparc/sparc.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
(load_got_register): Make global.
(sparc_frame_pointer_required): Add 'static'.
(sparc_can_eliminate): Likewise. Call sparc_frame_pointer_required.
(sparc_builtin_setjmp_frame_value): New function.
* config/sparc/sparc.md (UNSPECV_SETJMP): Remove.
(save_stack_nonlocal): New expander.
(restore_stack_nonlocal): Likewise.
(nonlocal_goto): Remove modes, adjust predicates and reimplement.
(nonlocal_goto_internal): New insn.
(goto_handler_and_restore): Delete.
(builtin_setjmp_setup): Likewise.
(do_builtin_setjmp_setup): Likewise.
(setjmp): Likewise.
(builtin_setjmp_receiver): New expander.
From-SVN: r174564
2011-06-02 10:48:11 +00:00
Eric Botcazou
66bd20e7b6
Fix a few formatting issues
...
From-SVN: r174561
2011-06-02 09:18:13 +00:00
GCC Administrator
931696937d
Daily bump.
...
From-SVN: r174557
2011-06-02 00:18:11 +00:00
David Li
69282feeab
format clean up
...
From-SVN: r174551
2011-06-01 23:08:50 +00:00
Kaz Kojima
e95873dd5b
sh.c (expand_cbranchdi4): Use a scratch register if needed when original operands are used for msw_skip...
...
* config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
needed when original operands are used for msw_skip comparison.
* gcc.c-torture/compile/pr49238.c: New.
From-SVN: r174550
2011-06-01 22:36:08 +00:00
Sofiane Naci
a82fcbe825
g2.c: Skip test in -mthumb.
...
2011-06-01 Sofiane Naci <sofiane.naci@arm.com>
* gcc.target/arm/g2.c: Skip test in -mthumb.
Skip test unless cpu is xscale.
* gcc.target/arm/scd42-2.c: Likewise.
* gcc.target/arm/mmx-1.c: Skip test in -mthumb.
From-SVN: r174549
2011-06-01 21:51:25 +00:00
Jakub Jelinek
88c158217c
re PR debug/49250 (ICE in set_slot_part, at var-tracking.c:6793)
...
PR debug/49250
* var-tracking.c (add_uses, add_stores): Don't call
cselib_subst_to_values on ENTRY_VALUE.
From-SVN: r174548
2011-06-01 23:45:34 +02:00
Jason Merrill
cd2c00bef3
pt.c (build_non_dependent_expr): Remove special handling of REFERENCE_REF_P.
...
* pt.c (build_non_dependent_expr): Remove special handling of
REFERENCE_REF_P.
From-SVN: r174545
2011-06-01 16:37:20 -04:00
Diego Novillo
072339477c
lto-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call output_record_start with LTO_null instead of output_zero.
...
* lto-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call
output_record_start with LTO_null instead of output_zero.
(lto_output_ts_binfo_tree_pointers): Likewise.
(lto_output_tree): Likewise.
(output_eh_try_list): Likewise.
(output_eh_region): Likewise.
(output_eh_lp): Likewise.
(output_eh_regions): Likewise.
(output_bb): Likewise.
(output_function): Likewise.
(output_unreferenced_globals): Likewise.
* lto-streamer.h (enum LTO_tags): Reserve MAX_TREE_CODES
instead of NUM_TREE_CODES.
(lto_tag_is_tree_code_p): Check max value against MAX_TREE_CODES.
(lto_output_int_in_range): Change << to >> when shifting VAL.
From-SVN: r174544
2011-06-01 16:36:55 -04:00
Jason Merrill
4324a55c06
re PR c++/44175 ([C++0x] decltype sometimes cannot recurse)
...
PR c++/44175
* pt.c (template_args_equal): Handle one arg being NULL_TREE.
(deduction_tsubst_fntype): Handle excessive non-infinite recursion.
From-SVN: r174543
2011-06-01 16:27:22 -04:00
Diego Novillo
4ee3537a6d
lto-streamer-out.c (lto_output_ts_decl_non_common_tree_pointers): Remove assertion for DECL_SAVED_TREE in FUNCTION_DECL nodes.
...
* lto-streamer-out.c (lto_output_ts_decl_non_common_tree_pointers):
Remove assertion for DECL_SAVED_TREE in FUNCTION_DECL nodes.
From-SVN: r174542
2011-06-01 16:14:17 -04:00
Richard Sandiford
02972eafb0
re PR target/45074 (GCC Segmentation fault - negating global register variables)
...
gcc/
PR target/45074
* optabs.h (valid_multiword_target_p): Declare.
* expmed.c (extract_bit_field_1): Check valid_multiword_target_p when
doing multi-word operations.
* optabs.c (expand_binop): Likewise.
(expand_doubleword_bswap): Likewise.
(expand_absneg_bit): Likewise.
(expand_unop): Likewise.
(expand_copysign_bit): Likewise.
(multiword_target_p): New function.
gcc/testsuite/
PR target/45074
* gcc.target/mips/pr45074.c: New test.
From-SVN: r174541
2011-06-01 19:49:53 +00:00
Richard Sandiford
4d41c2d1ce
re PR rtl-optimization/48830 (unrecognized insn: storing invalid upper FP reg in SImode)
...
gcc/
PR rtl-optimization/48830
PR rtl-optimization/48808
PR rtl-optimization/48792
* reload.c (push_reload): Check contains_reg_of_mode.
* reload1.c (strip_paradoxical_subreg): New function.
(gen_reload_chain_without_interm_reg_p): Use it to handle
paradoxical subregs.
(emit_output_reload_insns, gen_reload): Likewise.
gcc/testsuite/
2011-06-01 Eric Botcazou <ebotcazou@adacore.com>
Hans-Peter Nilsson <hp@axis.com>
PR rtl-optimization/48830
* gcc.target/sparc/ultrasp12.c: New test.
From-SVN: r174540
2011-06-01 19:47:19 +00:00
Jason Merrill
7448d2e73e
re PR c++/49253 (Debug-mode forward_list broken)
...
PR c++/49253
* typeck2.c (build_x_arrow): Don't use build_min_nt.
From-SVN: r174539
2011-06-01 14:07:03 -04:00
David Li
5f57dccbc6
Pass name cleanups
...
From-SVN: r174537
2011-06-01 17:45:26 +00:00
David Li
ea6cf778dd
Better function header dump
...
From-SVN: r174536
2011-06-01 17:42:39 +00:00
Jakub Jelinek
eeeb9b49bd
dwarf2out.c (compare_loc_descriptor, [...]): New functions.
...
* dwarf2out.c (compare_loc_descriptor, scompare_loc_descriptor,
ucompare_loc_descriptor, minmax_loc_descriptor, clz_loc_descriptor,
popcount_loc_descriptor, bswap_loc_descriptor, rotate_loc_descriptor):
New functions.
(mem_loc_descriptor): Use them.
From-SVN: r174535
2011-06-01 18:09:28 +02:00
Jakub Jelinek
ebdc0d4b15
var-tracking.c (create_entry_value): New function.
...
* var-tracking.c (create_entry_value): New function.
(vt_add_function_parameter): Use it.
From-SVN: r174534
2011-06-01 18:08:48 +02:00
Rainer Orth
0699e415bc
crtfastmath.c: Include <signal.h>, <ucontext.h>.
...
gcc:
* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]:
Include <signal.h>, <ucontext.h>.
(sigill_caught): Define.
(sigill_hdlr): New function.
(set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Check if SSE
insns can be executed.
* config/sol2.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math
etc.
* config/sparc/sol2.h (ENDFILE_SPEC): Remove.
libgcc:
* config.host (i[34567]86-*-solaris2*): Add i386/t-crtfm to
tmake_file.
Add crtfastmath.o to extra_parts.
From-SVN: r174532
2011-06-01 14:49:21 +00:00
Rainer Orth
a3fab9c2a9
gmon-sol2.c: Reindent.
...
* config/gmon-sol2.c: Reindent.
Cleanup comments.
Remove, correct casts.
Use STDERR_FILENO, NULL.
(BASEADDRESS): Remove.
(minbrk): Remove.
(errno, sbrk): Remove declarations.
(monstartup) [hp300]: Remove.
(mcount): Remove.
From-SVN: r174531
2011-06-01 14:46:24 +00:00
Rainer Orth
ca24c5ad73
t-slibgcc-darwin: Move to ...
...
gcc:
* config/t-slibgcc-darwin: Move to ...
* config/t-slibgcc-dummy: .. this.
Clarify comments.
* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*,
powerpc-*-darwin*, powerpc64-*-darwin*): Reflect this.
(i[3456x]86-*-netware*): Add t-slibgcc-dummy to tmake_file.
(i[34567]86-*-rtems*): Remove extra_parts.
Use i386/t-rtems.
Remove i386/t-crtstuff from tmake_file.
(i[34567]86-*-solaris2*): Remove t-svr4,
t-slibgcc-elf-ver, t-slibgcc-sld from tmake_file, add
t-slibgcc-dummy.
(sparc-*-elf*, sparc64-*-elf*): Remove tmake_file, extra_parts.
(sparc-*-rtems*, sparc64-*-rtems*): Remove sparc/t-crtin,
sparc/t-crtfm from tmake_file.
(sparc*-*-solaris2*): Remove sparc/t-sol2, sparc/t-crtfm,
t-slibgcc-elf-ver, t-slibgcc-sld, add t-slibgcc-dummy.
Remove extra_parts.
* config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define.
* config/i386/t-nwld (SHLIB_LINK): Remove.
* config/i386/t-rtems-i386: Rename to ...
* config/i386/t-rtems: ... this.
($(T)crti.o, $(T)crtn.o): Remove.
(FPBIT, DPBIT, LIB2FUNCS_EXTRA): Remove.
(dp-bit.c, fp-bit.c, xp-bit.c): Remove.
(EXTRA_MULTILIB_PARTS, LIBGCC, INSTALL_LIBGCC): Remove.
* config/i386/t-sol2-10 (LIBGCC, INSTALL_LIBGCC,
EXTRA_MULTILIB_PARTS): Remove.
* config/sparc/t-sol2-64: Likewise.
* config/sparc/t-sol2: Remove.
* config/sparc/t-crtin: Remove.
* config/sparc/gmon-sol2.c: Move to ../libgcc/config.
* config/i386/gmon-sol2.c: Remove.
* config/i386/sol2-c1.asm: Move to ../libgcc/config/i386/sol2-c1.S.
* config/i386/sol2-ci.asm: Move to ../libgcc/config/i386/sol2-ci.S.
* config/i386/sol2-cn.asm: Move to ../libgcc/config/i386/sol2-cn.S.
* config/i386/sol2-gc1.asm: Remove.
* config/sparc/sol2-c1.asm: Move to ../libgcc/config/sparc/sol2-c1.S.
* config/sparc/sol2-ci.asm: Move to ../libgcc/config/sparc/sol2-ci.S.
* config/sparc/sol2-cn.asm: Move to ../libgcc/config/sparc/sol2-cn.S.
* config/t-slibgcc-sld: Remove.
libgcc:
* Makefile.in (cpu_type): Define.
* config.host (i[34567]86-*-rtems*): Handle it.
(i[34567]86-*-solaris2*): Move body ...
(*-*-solaris2*): ... here.
New case, generalize.
(sparc-*-elf*): Handle it.
(sparc-*-linux*, sparc64-*-linux*): Replace sparc/t-crtfm by t-crtfm.
(sparc-*-rtems*, sparc64-*-rtems*); Handle it.
(sparc64-*-solaris2*, sparcv9-*-solaris2*, sparc-*-solaris2*):
Fold into ...
(sparc*-*-solaris2*): ... this.
New case.
(sparc64-*-elf*): Handle it.
* config/gmon-sol2.c: Move from ../gcc/config/sparc.
Merge ../gcc/config/i386/gmon-sol2.c.
* config/i386/sol2-c1.S: Move from ../gcc/config/i386/sol2-c1.asm.
Use C comments.
Merge ../gcc/config/i386/sol2-gc1.asm.
* config/i386/sol2-ci.S: Move from ../gcc/config/i386/sol2-ci.asm.
Use C comments.
* config/i386/sol2-cn.S: Move from ../gcc/config/i386/sol2-cn.asm.
Use C comments.
* config/i386/t-crtfm (crtfastmath.o): Use $<.
* config/i386/t-crtstuff: New file.
* config/i386/t-softfp: New file.
* config/i386/t-sol2 ($(T)gmon.o, $(T)gcrt1.o, $(T)crt1.o),
$(T)crti.o, $(T)crtn.o): Remove.
(gcrt1.o): New rule.
(TARGET_LIBGCC2_CFLAGS): Remove.
* config/sparc/sol2-c1.S: Move from ../gcc/config/sparc/sol2-c1.asm.
* config/sparc/sol2-ci.S: Move from ../gcc/config/sparc/sol2-ci.asm.
* config/sparc/sol2-cn.S: Move from ../gcc/config/sparc/sol2-cn.asm.
* config/sparc/t-sol2: New file.
* config/sparc/t-crtfm: Move to ...
* config/t-crtfm: ... this.
Use $(cpu_type), $<.
* config/t-crtin: New file.
* config/sparc/t-softfp: New file.
* config/sparc/t-softmul: New file.
* config/t-rtems: New file.
* config/t-slibgcc: New file.
* config/t-slibgcc-elf-ver: New file.
* config/t-slibgcc-gld: New file.
* config/t-slibgcc-sld: New file.
* config/t-sol2: New file.
* configure.ac: Include ../config/lib-ld.m4.
Call AC_LIB_PROG_LD_GNU.
Substitute cpu_type.
* configure: Regenerate.
From-SVN: r174529
2011-06-01 14:39:17 +00:00
Ian Lance Taylor
ce4fc50608
Add missing entry.
...
* configure.ac (--with-specs): New option.
* configure: Regenerated.
* gcc.c (driver_self_specs): Include CONFIGURE_SPECS.
* Makefile.in (DRIVER_DEFINES): Add -DCONFIGURE_SPECS.
From-SVN: r174528
2011-06-01 14:31:00 +00:00
Jakub Jelinek
a78d13c3e8
dwarf2out.c (mem_loc_descriptor): Call base_type_for_mode with op_mode instead of mode.
...
* dwarf2out.c (mem_loc_descriptor) <do_ucompare>: Call
base_type_for_mode with op_mode instead of mode.
From-SVN: r174527
2011-06-01 16:21:06 +02:00
Paul Brook
572070efe3
arm-cores.def: Add cortex-r5.
...
2011-06-01 Paul Brook <paul@cpodesourcery.com>
gcc/
* config/arm/arm-cores.def: Add cortex-r5. Add DIV flags to
Cortex-A15.
* config/arm/arm-tune.md: Regenerate.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm.c (FL_DIV): Rename...
(FL_THUMB_DIV): ... to this.
(FL_ARM_DIV): Define.
(FL_FOR_ARCH7R, FL_FOR_ARCH7M): Use FL_THUMB_DIV.
(arm_arch_hwdiv): Remove.
(arm_arch_thumb_hwdiv, arm_arch_arm_hwdiv): New variables.
(arm_issue_rate): Add cortexr5.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set
__ARM_ARCH_EXT_IDIV__.
(TARGET_IDIV): Define.
(arm_arch_hwdiv): Remove.
(arm_arch_arm_hwdiv, arm_arch_thumb_hwdiv): New prototypes.
* config/arm/arm.md (tune_cortexr4): Add cortexr5.
(divsi3, udivsi3): New patterns.
* config/arm/thumb2.md (divsi3, udivsi3): Remove.
* doc/invoke.texi: Document ARM -mcpu=cortex-r5
From-SVN: r174526
2011-06-01 14:18:29 +00:00
Paolo Carlini
6f59ea252b
hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept.
...
2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
Use std::move on the allocator, use noexcept.
(_Hashtable<>::~_Hashtable): Use noexcept.
* include/bits/stl_list.h: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_map.h (map<>::map(map&&)): Use noexcept.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(_Rb_tree&&)): Use
std::move on the allocator.
(_Rb_tree<>::~_Rb_tree): Use noexcept.
* include/bits/stl_deque.h: Likewise.
* include/bits/basic_string.h (basic_string<>::~basic_string): Use
noexcept.
* include/ext/vstring.h (__versa_string<>::~__versa_string): Likewise.
* include/debug/set.h: Adjust.
* include/debug/unordered_map: Likewise.
* include/debug/multiset.h: Likewise.
* include/debug/forward_list: Likewise.
* include/debug/vector: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/deque: Likewise.
* include/debug/map.h: Likewise.
* include/debug/string: Likewise.
* include/debug/list: Likewise.
* include/debug/multimap.h: Likewise.
* include/profile/set.h: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/multiset.h: Likewise.
* include/profile/forward_list: Likewise.
* include/profile/unordered_set: Likewise.
* include/profile/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/map.h: Likewise.
* include/profile/list: Likewise.
* include/profile/multimap.h: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/
noexcept_move_construct.cc: New.
* testsuite/21_strings/basic_string/cons/char/
noexcept_move_construct.cc: Likewise.
* testsuite/ext/vstring/cons/noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/unordered_map/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/multimap/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/set/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/unordered_multimap/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/forward_list/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/unordered_set/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/vector/bool/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/vector/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/multiset/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/list/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/unordered_multiset/cons/
noexcept_move_construct.cc: Likewise.
* testsuite/23_containers/map/cons/noexcept_move_construct.cc
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line numbers.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* include/bits/move.h (swap): Use __and_ in the noexcept.
* include/bits/algorithmfwd.h: Adjust.
From-SVN: r174525
2011-06-01 14:16:19 +00:00
Martin Jambor
11026b5123
ipa-utils.c (ipa_dfs_info): New field scc_no.
...
2011-06-01 Martin Jambor <mjambor@suse.cz>
* ipa-utils.c (ipa_dfs_info): New field scc_no.
* ipa-utils.c (searchc): Set scc_no.
From-SVN: r174524
2011-06-01 15:07:26 +02:00
Martin Jambor
b6156cf232
ipa-utils.c (searchc_env): New field allow_overwritable.
...
2011-06-01 Martin Jambor <mjambor@suse.cz>
* ipa-utils.c (searchc_env): New field allow_overwritable.
(searchc): do not ignore edges to overwritable nodes if indicated
by env->allow_overwritable.
(ipa_reduced_postorder): Set env.allow_overwritable.
From-SVN: r174523
2011-06-01 14:52:08 +02:00
Daniel Jacobowitz
6c059f76e7
* MAINTAINERS: Update my email address.
...
From-SVN: r174521
2011-06-01 11:10:11 +00:00
Nicola Pero
98ab024860
In gcc/objc/: 2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com>
...
In gcc/objc/:
2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_decl_method_attributes): Implement nonnull
attribute for Objective-C methods.
In gcc/testsuite/:
2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/attributes/method-nonnull-1.m: New test.
* obj-c++.dg/attributes/method-nonnull-1.mm: New test.
From-SVN: r174520
2011-06-01 09:30:18 +00:00
Richard Guenther
6807da97b7
tree.c (free_lang_data): Do not reset boolean_type_node nor char_type_node.
...
2011-06-01 Richard Guenther <rguenther@suse.de>
* tree.c (free_lang_data): Do not reset boolean_type_node nor
char_type_node.
* lto-streamer.c (lto_record_common_node): Take node pointer,
do not register types.
(lto_preload_common_nodes): Explicitly skip preloading nodes
that differ between frontends.
lto/
* lto-lang.c (lto_register_canonical_types): New function.
(lto_init): Register common nodes with the canonical type machinery.
Do not play tricks with char_type_node.
From-SVN: r174519
2011-06-01 08:52:33 +00:00
GCC Administrator
3dca2ab7a7
Daily bump.
...
From-SVN: r174518
2011-06-01 00:18:07 +00:00
Pat Haugen
ddaf42bc24
rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from NON_FLOAT_REGS.
...
* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
NON_FLOAT_REGS.
From-SVN: r174512
2011-05-31 20:50:37 +00:00
Pat Haugen
abdd692edc
rs6000.c (rs6000_register_move_cost): Preserve from parameter value for dump.
...
* config/rs6000/rs6000.c (rs6000_register_move_cost): Preserve from
parameter value for dump. Dump cost on outermost call only.
(rs6000_memory_move_cost): Dump cost on outermost call only.
From-SVN: r174511
2011-05-31 20:47:37 +00:00
Tobias Burnus
da661a58be
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
...
2011-05-31 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* intrinsic.c (klass): Add CLASS_ATOMIC.
(add_subroutines): Add atomic_ref/atomic_define.
* intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document.
* intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref,
gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes.
* gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEF
and GFC_ISYM_ATOMIC_REF.
(gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars.
* iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref):
* New
functions.
* check.c (gfc_check_atomic, gfc_check_atomic_def,
gfc_check_atomic_ref): New functions.
* iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND,
ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value.
* trans-intrinsic.c (conv_intrinsic_atomic_def,
conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): New
functions.
(conv_intrinsic_move_alloc) Renamed from
gfc_conv_intrinsic_move_alloc - and made static.
* trans.h (gfc_conv_intrinsic_move_alloc): Remove.
(gfc_conv_intrinsic_subroutine) Add prototype.
* trans.c (trans_code): Call gfc_conv_intrinsic_subroutine.
From-SVN: r174510
2011-05-31 22:04:09 +02:00
Jakub Jelinek
ead7c399bc
dwarf2out.c (resolve_addr_in_expr): Optimize away redundant DW_OP_GNU_convert ops.
...
* dwarf2out.c (resolve_addr_in_expr): Optimize away redundant
DW_OP_GNU_convert ops.
From-SVN: r174509
2011-05-31 21:15:13 +02:00
Jakub Jelinek
509f4495ee
cselib.c (promote_debug_loc): Allow l->next non-NULL for cselib_preserve_constants.
...
* cselib.c (promote_debug_loc): Allow l->next non-NULL for
cselib_preserve_constants.
(cselib_lookup_1): If cselib_preserve_constants,
a new VALUE is being created for REG and there is a VALUE for the
same register in wider mode, add another loc with lowpart SUBREG of
the wider VALUE.
(cselib_subst_to_values): Handle ENTRY_VALUE.
* var-tracking.c (replace_expr_with_values): Return NULL for
ENTRY_VALUE too.
* dwarf2out.c (convert_descriptor_to_signed): New function.
(mem_loc_descriptor) <case ZERO_EXTEND>: Optimize using DW_OP_and
instead of two shifts.
(mem_loc_descriptor) <do_shift>: ZERO_EXTEND second argument to
the right mode if needed.
(mem_loc_descriptor) <case MOD>: For typed ops just use DW_OP_mod.
(mem_loc_descriptor) <case UNSIGNED_FIX>: Use
convert_descriptor_to_signed.
(mem_loc_descriptor) <case UDIV, CLZ, CTZ, FFS, POPCOUNT, PARITY,
BSWAP, ROTATE, ROTATERT>: Handle these rtls.
* gcc.dg/guality/bswaptest.c: New test.
* gcc.dg/guality/clztest.c: New test.
* gcc.dg/guality/ctztest.c: New test.
* gcc.dg/guality/rotatetest.c: New test.
From-SVN: r174508
2011-05-31 21:14:21 +02:00
Jakub Jelinek
7351d8da1b
re PR target/48688 ([x64]: shift/or instead of lea)
...
PR target/48688
* config/i386/i386.md (*lea_general_4): New define_insn_and_split.
* gcc.target/i386/pr48688.c: New test.
From-SVN: r174507
2011-05-31 21:12:25 +02:00
Fabien Chêne
ff7714547f
re PR c++/48010 (typedef redefinitions are allowed if the redefined type is a nested class type)
...
gcc/cp/ChangeLog
2010-05-31 Fabien Chene <fabien@gcc.gnu.org>
PR c++/48010
* name-lookup.c (supplement_binding_1): If the old binding was a
type name, also check that the DECL actually refers to the same
type or is not a type.
gcc/testsuite/ChangeLog
2010-05-31 Fabien Chene <fabien@gcc.gnu.org>
PR c++/48010
* g++.dg/lookup/name-clash9.C: New.
From-SVN: r174506
2011-05-31 21:02:19 +02:00
Tobias Burnus
d73b65b6db
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
...
2011-05-31 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* trans-array.c (gfc_trans_dummy_array_bias): Handle
cobounds of assumed-shape arrays.
2011-05-31 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray/dummy_1.f90: New.
From-SVN: r174504
2011-05-31 20:40:55 +02:00
Tobias Burnus
9f3761c527
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
...
2011-05-31 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* resolve.c (resolve_fl_variable): Handle static coarrays
with non-constant cobounds.
(resolve_symbol): Handle SAVE statement without arguments
for coarrays.
* trans-array.c (gfc_trans_array_cobounds): New function.
(gfc_trans_array_bounds): Place code by call to it.
* trans-array.h (gfc_trans_array_cobounds): New prototype.
* trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars):
Handle static coarrays with nonconstant cobounds.
2011-05-31 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray/save_1.f90: New.
* gfortran.dg/coarray_4.f90: Update dg-error.
From-SVN: r174503
2011-05-31 20:25:51 +02:00
Ian Lance Taylor
4ed2ca85c2
libgo: Define PtraceRegs for Alpha GNU/Linux.
...
From Uros Bizjak.
From-SVN: r174502
2011-05-31 18:15:14 +00:00
Ian Lance Taylor
81a75bb28f
os: Correct Ctime_ns calculation.
...
From-SVN: r174501
2011-05-31 18:08:48 +00:00
Ian Lance Taylor
f718d442f6
libgo/mksysinfo: Remove structs within stat found on Alpha.
...
From-SVN: r174500
2011-05-31 18:06:47 +00:00
Jason Merrill
e87b4dde32
re PR c++/44870 ([C++0x] error when calling function with rvalue argument inside template)
...
PR c++/44870
* tree.c (lvalue_kind): Recurse on NON_DEPENDENT_EXPR. Handle
ARROW_EXPR, TYPEID_EXPR, and arbitrary class-valued expressions.
(build_min_non_dep): Preserve reference refs.
(build_min_non_dep_call_vec): Likewise
From-SVN: r174499
2011-05-31 14:06:39 -04:00
Uros Bizjak
5cc93ee099
i386.md: Use SWI248x instead of X87MODEI...
...
* config/i386/i386.md: Use SWI248x instead of X87MODEI, SWI24 instead
of X87MODEI12 and SWI48x instead of SSEMODEI24.
(SWI248x): New mode iterator, rename from X87MODEI.
(X87MODEI): Remove mode iterator.
(X87MODEI12): Ditto.
(SSEMODEI24): Ditto.
From-SVN: r174498
2011-05-31 19:43:04 +02:00
Alexandre Oliva
f0686e7897
params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
...
* params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
* doc/invoke.texi: Document max-vartrack-expr-depth.
* var-tracking.c (EXPR_DEPTH): New.
(reverse_op, vt_expand_loc, vt_expand_loc_dummy): Use it.
From-SVN: r174494
2011-05-31 16:25:50 +00:00
Alexandre Oliva
f330841314
i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
...
* config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
* config/i386/sse.md: Add n to negated FMA pattern names.
From-SVN: r174493
2011-05-31 16:25:15 +00:00
Alexandre Oliva
28c14a046d
* gcc.c (driver_handle_option): Fix disabling of -fcompare-debug.
...
From-SVN: r174492
2011-05-31 16:24:47 +00:00
Alexandre Oliva
70efc82d54
gengtype-state.c (read_state_params_structs): Initialize previous.
...
* gengtype-state.c (read_state_params_structs): Initialize
previous.
From-SVN: r174491
2011-05-31 16:24:08 +00:00
Uros Bizjak
6ba5d85618
i386.md (*movtf_internal): Avoid allocating general registers.
...
* config/i386/i386.md (*movtf_internal): Avoid allocating general
registers. Penalize F*r->o alternative to prevent partial memory
stalls. Slightly penalize *roF->*r alternative. Generate SSE
CONST_DOUBLE immediates when optimizing function for size. Do not move
CONST_DOUBLEs directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
(*movxf_internal): Slightly penalize Yx*roF->Yx*r alternative.
(*movdf_internal): Slightly penalize Yd*roF->Yd*r alternative.
(*movdf_internal_rex64): Slightly penalize rm->r, F->m and r->m
alternatives.
(*movsf_internal): Slightly penalize rmF->r and Fr->m alternatives.
(fp_register_operand splitters): Use fp_register_operand
constraint. Do not use FP_REG_P in insn condition.
(any_fp_register_operand splitters): Use any_fp_register_operand
constraint. Do not use ANY_FP_REG_P in insn condition.
* config/i386/i386.md (*pushxf_nointeger): Merge alternatives 1 and 2.
(FP push_operand splitters): Merge {TF,XF,DF}mode splitters.
From-SVN: r174489
2011-05-31 18:14:08 +02:00