gcc.git
13 years agore PR rtl-optimization/48830 (unrecognized insn: storing invalid upper FP reg in...
Richard Sandiford [Wed, 1 Jun 2011 19:47:19 +0000 (19:47 +0000)]
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

13 years agore PR c++/49253 (Debug-mode forward_list broken)
Jason Merrill [Wed, 1 Jun 2011 18:07:03 +0000 (14:07 -0400)]
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

13 years agoPass name cleanups
David Li [Wed, 1 Jun 2011 17:45:26 +0000 (17:45 +0000)]
Pass name cleanups

From-SVN: r174537

13 years agoBetter function header dump
David Li [Wed, 1 Jun 2011 17:42:39 +0000 (17:42 +0000)]
Better function header dump

From-SVN: r174536

13 years agodwarf2out.c (compare_loc_descriptor, [...]): New functions.
Jakub Jelinek [Wed, 1 Jun 2011 16:09:28 +0000 (18:09 +0200)]
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

13 years agovar-tracking.c (create_entry_value): New function.
Jakub Jelinek [Wed, 1 Jun 2011 16:08:48 +0000 (18:08 +0200)]
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

13 years agocrtfastmath.c: Include <signal.h>, <ucontext.h>.
Rainer Orth [Wed, 1 Jun 2011 14:49:21 +0000 (14:49 +0000)]
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

13 years agogmon-sol2.c: Reindent.
Rainer Orth [Wed, 1 Jun 2011 14:46:24 +0000 (14:46 +0000)]
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

13 years agot-slibgcc-darwin: Move to ...
Rainer Orth [Wed, 1 Jun 2011 14:39:17 +0000 (14:39 +0000)]
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

13 years agoAdd missing entry.
Ian Lance Taylor [Wed, 1 Jun 2011 14:31:00 +0000 (14:31 +0000)]
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

13 years agodwarf2out.c (mem_loc_descriptor): Call base_type_for_mode with op_mode instead of...
Jakub Jelinek [Wed, 1 Jun 2011 14:21:06 +0000 (16:21 +0200)]
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

13 years agoarm-cores.def: Add cortex-r5.
Paul Brook [Wed, 1 Jun 2011 14:18:29 +0000 (14:18 +0000)]
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

13 years agohashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator...
Paolo Carlini [Wed, 1 Jun 2011 14:16:19 +0000 (14:16 +0000)]
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

13 years agoipa-utils.c (ipa_dfs_info): New field scc_no.
Martin Jambor [Wed, 1 Jun 2011 13:07:26 +0000 (15:07 +0200)]
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

13 years agoipa-utils.c (searchc_env): New field allow_overwritable.
Martin Jambor [Wed, 1 Jun 2011 12:52:08 +0000 (14:52 +0200)]
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

13 years ago* MAINTAINERS: Update my email address.
Daniel Jacobowitz [Wed, 1 Jun 2011 11:10:11 +0000 (11:10 +0000)]
* MAINTAINERS: Update my email address.

From-SVN: r174521

13 years agoIn gcc/objc/: 2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Wed, 1 Jun 2011 09:30:18 +0000 (09:30 +0000)]
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

13 years agotree.c (free_lang_data): Do not reset boolean_type_node nor char_type_node.
Richard Guenther [Wed, 1 Jun 2011 08:52:33 +0000 (08:52 +0000)]
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

13 years agoDaily bump.
GCC Administrator [Wed, 1 Jun 2011 00:18:07 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r174518

13 years agors6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from NON_FLOAT_REGS.
Pat Haugen [Tue, 31 May 2011 20:50:37 +0000 (20:50 +0000)]
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

13 years agors6000.c (rs6000_register_move_cost): Preserve from parameter value for dump.
Pat Haugen [Tue, 31 May 2011 20:47:37 +0000 (20:47 +0000)]
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

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Tue, 31 May 2011 20:04:09 +0000 (22:04 +0200)]
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

13 years agodwarf2out.c (resolve_addr_in_expr): Optimize away redundant DW_OP_GNU_convert ops.
Jakub Jelinek [Tue, 31 May 2011 19:15:13 +0000 (21:15 +0200)]
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

13 years agocselib.c (promote_debug_loc): Allow l->next non-NULL for cselib_preserve_constants.
Jakub Jelinek [Tue, 31 May 2011 19:14:21 +0000 (21:14 +0200)]
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

13 years agore PR target/48688 ([x64]: shift/or instead of lea)
Jakub Jelinek [Tue, 31 May 2011 19:12:25 +0000 (21:12 +0200)]
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

13 years agore PR c++/48010 (typedef redefinitions are allowed if the redefined type is a nested...
Fabien ChĂȘne [Tue, 31 May 2011 19:02:19 +0000 (21:02 +0200)]
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

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Tue, 31 May 2011 18:40:55 +0000 (20:40 +0200)]
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

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Tue, 31 May 2011 18:25:51 +0000 (20:25 +0200)]
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

13 years agolibgo: Define PtraceRegs for Alpha GNU/Linux.
Ian Lance Taylor [Tue, 31 May 2011 18:15:14 +0000 (18:15 +0000)]
libgo: Define PtraceRegs for Alpha GNU/Linux.

From Uros Bizjak.

From-SVN: r174502

13 years agoos: Correct Ctime_ns calculation.
Ian Lance Taylor [Tue, 31 May 2011 18:08:48 +0000 (18:08 +0000)]
os: Correct Ctime_ns calculation.

From-SVN: r174501

13 years agolibgo/mksysinfo: Remove structs within stat found on Alpha.
Ian Lance Taylor [Tue, 31 May 2011 18:06:47 +0000 (18:06 +0000)]
libgo/mksysinfo: Remove structs within stat found on Alpha.

From-SVN: r174500

13 years agore PR c++/44870 ([C++0x] error when calling function with rvalue argument inside...
Jason Merrill [Tue, 31 May 2011 18:06:39 +0000 (14:06 -0400)]
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

13 years agoi386.md: Use SWI248x instead of X87MODEI...
Uros Bizjak [Tue, 31 May 2011 17:43:04 +0000 (19:43 +0200)]
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

13 years agoparams.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
Alexandre Oliva [Tue, 31 May 2011 16:25:50 +0000 (16:25 +0000)]
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

13 years agoi386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
Alexandre Oliva [Tue, 31 May 2011 16:25:15 +0000 (16:25 +0000)]
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

13 years ago* gcc.c (driver_handle_option): Fix disabling of -fcompare-debug.
Alexandre Oliva [Tue, 31 May 2011 16:24:47 +0000 (16:24 +0000)]
* gcc.c (driver_handle_option): Fix disabling of -fcompare-debug.

From-SVN: r174492

13 years agogengtype-state.c (read_state_params_structs): Initialize previous.
Alexandre Oliva [Tue, 31 May 2011 16:24:08 +0000 (16:24 +0000)]
gengtype-state.c (read_state_params_structs): Initialize previous.

* gengtype-state.c (read_state_params_structs): Initialize
previous.

From-SVN: r174491

13 years agoi386.md (*movtf_internal): Avoid allocating general registers.
Uros Bizjak [Tue, 31 May 2011 16:14:08 +0000 (18:14 +0200)]
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

13 years agocgraph.h (cgraph_inline_failed_t): Give enum a name
Jan Hubicka [Tue, 31 May 2011 14:58:49 +0000 (16:58 +0200)]
cgraph.h (cgraph_inline_failed_t): Give enum a name

* cgraph.h (cgraph_inline_failed_t): Give enum a name
* lto-cgraph.c (LDPR_NUM_KNOWN): New macro.
(LTO_cgraph_tags): Add LTO_cgraph_last_tag.
(lto_output_edge): Use output_enum and var_len_unsigned.
(lto_output_varpool_node): Likewise.
(input_overwrite_node): Do not take resolution parameter;
extract it from a bitpack.
(input_node): Do not read resolution; use input_enum and
var_len_unsigned.
(input_varpool_node): Likewise.
(input_edge): Likewise.
(input_cgraph_1): Likewise.

From-SVN: r174487

13 years agogimple.c (gimple_register_canonical_type): Do not register any types via gimple_regis...
Richard Guenther [Tue, 31 May 2011 14:24:22 +0000 (14:24 +0000)]
gimple.c (gimple_register_canonical_type): Do not register any types via gimple_register_type.

2011-05-31  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_register_canonical_type): Do not register
any types via gimple_register_type.

From-SVN: r174483

13 years agolto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl of thunks.
Jan Hubicka [Tue, 31 May 2011 14:15:17 +0000 (16:15 +0200)]
lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl of thunks.

* lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl
of thunks.

From-SVN: r174482

13 years agoRevert accidental svn commit r174473
H.J. Lu [Tue, 31 May 2011 13:02:40 +0000 (13:02 +0000)]
Revert accidental svn commit r174473

From-SVN: r174480

13 years agobasic_string.h: Use noexcept per the FDIS (minus compare(const string&)...
Paolo Carlini [Tue, 31 May 2011 12:50:31 +0000 (12:50 +0000)]
basic_string.h: Use noexcept per the FDIS (minus compare(const string&)...

2011-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/basic_string.h: Use noexcept per the FDIS (minus
compare(const string&), which uses char_traits::compare, which
isn't noexcept; also no noexcept in the move assignment operator
and move assign, see c++std-lib-30855).
* include/bits/basic_string.tcc: Likewise.
* include/ext/vstring.h: Likewise.
* include/ext/vstring.tcc: Likewise.
* include/debug/string: Likewise.

From-SVN: r174479

13 years agore PR rtl-optimization/49235 (ICE: in int_mode_for_mode, at stor-layout.c:424 with...
Jakub Jelinek [Tue, 31 May 2011 12:34:42 +0000 (14:34 +0200)]
re PR rtl-optimization/49235 (ICE: in int_mode_for_mode, at stor-layout.c:424 with -O -fno-delete-null-pointer-checks -fno-tree-scev-cprop -ftree-vectorize -fno-vect-cost-model)

PR rtl-optimization/49235
* tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
(create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.

* gcc.dg/pr49235.c: New test.

From-SVN: r174478

13 years agore PR tree-optimization/49093 (ICE in vect_enhance_data_refs_alignment() with volatil...
Ira Rosen [Tue, 31 May 2011 12:31:04 +0000 (12:31 +0000)]
re PR tree-optimization/49093 (ICE in vect_enhance_data_refs_alignment() with volatile inside peeled loop)

        PR tree-optimization/49093
        * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for
        volatile data references.

From-SVN: r174477

13 years agore PR debug/49047 (DW_AT_linkage_name missing for constructors and destructors)
Dodji Seketeli [Tue, 31 May 2011 12:17:21 +0000 (12:17 +0000)]
re PR debug/49047 (DW_AT_linkage_name missing for constructors and destructors)

Fix PR debug/49047

gcc/

* dwarf2out.c (gen_subprogram_die): Emit linkage name attribute
for concrete functions containing the code of cloned functions.

gcc/testsuite/

* g++.dg/debug/dwarf2/cdtor-1.C: New test.

From-SVN: r174474

13 years agoRevert "Fix PR debug/49047"
Dodji Seketeli [Tue, 31 May 2011 12:17:06 +0000 (14:17 +0200)]
Revert "Fix PR debug/49047"

This reverts commit ce20032a8ad4d9d4fa37192e2ecc73cb257094e8.

From-SVN: r174473

13 years agore PR debug/49047 (DW_AT_linkage_name missing for constructors and destructors)
Dodji Seketeli [Tue, 31 May 2011 12:09:06 +0000 (12:09 +0000)]
re PR debug/49047 (DW_AT_linkage_name missing for constructors and destructors)

Fix PR debug/49047

gcc/

* dwarf2out.c (gen_subprogram_die): Emit linkage name attribute
for concrete functions containing the code of cloned functions.

gcc/testsuite/

* g++.dg/debug/dwarf2/cdtor-1.C: New test.

From-SVN: r174472

13 years agoUse __sync_bool_compare_and_swap in x86 locks.h.
H.J. Lu [Tue, 31 May 2011 11:53:34 +0000 (11:53 +0000)]
Use __sync_bool_compare_and_swap in x86 locks.h.

2011-05-31  H.J. Lu  <hongjiu.lu@intel.com>

PR libgcj/49193
* configure.host (sysdeps_dir): Set to i386 for x86_64.

* sysdep/i386/locks.h (compare_and_swap): Call
__sync_bool_compare_and_swap.
(release_set): Call write_barrier ().

* sysdep/x86-64/locks.h: Removed.

From-SVN: r174471

13 years agotree-ssa-forwprop.c (forward_propagate_into_comparison): Rename to ...
Richard Guenther [Tue, 31 May 2011 09:37:46 +0000 (09:37 +0000)]
tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename to ...

2011-05-31  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename
to ...
(forward_propagate_into_comparison_1): ... this.
(forward_propagate_comparison): Rename to ...
(forward_propagate_into_comparison): ... this.  Split out
real forward propagation code to ...
(forward_propagate_comparison): ... this.
(forward_propagate_into_gimple_cond): Remove looping.
(forward_propagate_into_cond): Likewise.
(simplify_not_neg_expr): Return whether we have done something.
(simplify_gimple_switch): Likewise.
(tree_ssa_forward_propagate_single_use_vars): Rename to ...
(ssa_forward_propagate_and_combine): ... this.  Re-structure
to do a forward forward-propagation walk on BBs and a backward
stmt combining walk on BBs.  Consistently re-scan changed
statements.
(pass_forwprop): Adjust.

From-SVN: r174470

13 years agore PR testsuite/49239 (Random gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c failure)
Ira Rosen [Tue, 31 May 2011 08:15:25 +0000 (08:15 +0000)]
re PR testsuite/49239 (Random gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c failure)

PR testsuite/49239
* gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Initialize the
output array.

From-SVN: r174469

13 years agostatus_cxx200x.xml: Update.
Jonathan Wakely [Tue, 31 May 2011 08:11:15 +0000 (08:11 +0000)]
status_cxx200x.xml: Update.

2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/status_cxx200x.xml: Update.
* doc/html/*: Regenerate.

From-SVN: r174468

13 years agogodump.c (go_format_type): Correct length of name added to obstack for anonymous...
Ian Lance Taylor [Tue, 31 May 2011 05:34:45 +0000 (05:34 +0000)]
godump.c (go_format_type): Correct length of name added to obstack for anonymous field.

* godump.c (go_format_type): Correct length of name added to
obstack for anonymous field.

From-SVN: r174465

13 years agotype_traits (__or_, __and_): Add trivial definitions for a single element.
Paolo Carlini [Tue, 31 May 2011 02:29:22 +0000 (02:29 +0000)]
type_traits (__or_, __and_): Add trivial definitions for a single element.

2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (__or_, __and_): Add trivial definitions
for a single element.
* include/bits/stl_pair.h: Use __and_ in noexcept specs and
constraints.
(pair<>::pair(pair&&)): Define.
(pair<>::pair(const pair<>&)): Constrain with is_convertible.
(pair<>::pair(pair<>&&)): Likewise, remove noexcept.
* include/std/tuple: Use __and_ in noexcept specs and constraints.
(_Tuple_impl<>::_Tuple_impl(allocator_arg_t, const _Alloc&,
_Tuple_impl&&)): Remove noexcept.
(tuple<>::tuple(_UElements&&...), tuple(const tuple<_UElements...>&),
tuple(tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&),
tuple(pair<_U1, _U2>&&)): Constrain with is_convertible.
* testsuite/20_util/tuple/moveable2.cc: Use = delete.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

From-SVN: r174464

13 years agoDaily bump.
GCC Administrator [Tue, 31 May 2011 00:19:22 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r174463

13 years agotuple: Restore is_convertible constraint.
Jonathan Wakely [Mon, 30 May 2011 23:46:13 +0000 (23:46 +0000)]
tuple: Restore is_convertible constraint.

2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/std/tuple: Restore is_convertible constraint.
* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove.

From-SVN: r174458

13 years agosh.c (expand_cbranchdi4): Set msw_skip when the high part of the second operand is 0.
Kaz Kojima [Mon, 30 May 2011 22:56:32 +0000 (22:56 +0000)]
sh.c (expand_cbranchdi4): Set msw_skip when the high part of the second operand is 0.

* config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
part of the second operand is 0.
* gcc.c-torture/execute/pr49186.c: New.

From-SVN: r174456

13 years agore PR libstdc++/49236 (FAIL: 20_util/weak_ptr/comparison/cmp_neg.cc)
Paolo Carlini [Mon, 30 May 2011 21:14:01 +0000 (21:14 +0000)]
re PR libstdc++/49236 (FAIL: 20_util/weak_ptr/comparison/cmp_neg.cc)

2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/49236
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line number.

From-SVN: r174455

13 years agoi386.md (*movxf_internal): Penalize FYx*r->o alternative to prevent partial memory...
Uros Bizjak [Mon, 30 May 2011 20:55:30 +0000 (22:55 +0200)]
i386.md (*movxf_internal): Penalize FYx*r->o alternative to prevent partial memory stalls.

* config/i386/i386.md (*movxf_internal): Penalize FYx*r->o alternative
to prevent partial memory stalls.  Do not move CONST_DOUBLEs directly
to memory for !TARGET_MEMORY_MISMATCH_STALL.
(*movdf_internal_rex64): Do not penalize F->r alternative.
(*movdf_internal):  Penalize FYd*r->o alternative to prevent partial
memory stalls.  Generate SSE and x87 CONST_DOUBLE immediates only
when optimizing function for size.  Do not move CONST_DOUBLEs
directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
(FP move splitters): Merge {TF,XF,DF}mode move splitters.  Do not
handle SUBREGs.  Do not check for MEM_P operands in the insn condition,
check for ANY_FP_REGNO_P instead.
* config/i386/constraints.md (Yd): Enable GENERAL_REGS for
TARGET_64BIT and for TARGET_INTEGER_DFMODE_MOVES when optimizing
function for speed.
* config/i386/i386.c (ix86_option_override_internal): Do not
set TARGET_INTEGER_DFMODE_MOVES here.

From-SVN: r174453

13 years agoHandle misaligned TFmode load/store.
H.J. Lu [Mon, 30 May 2011 20:00:11 +0000 (20:00 +0000)]
Handle misaligned TFmode load/store.

gcc/

2011-05-30  H.J. Lu  <hongjiu.lu@intel.com>

PR target/49168
* config/i386/i386.md (*movtf_internal): Handle misaligned
load/store.

gcc/testsuite/

2011-05-30  H.J. Lu  <hongjiu.lu@intel.com>

PR target/49168
 * gcc.target/i386/pr49168-1.c: New.

From-SVN: r174451

13 years agodwarf2out.c (modified_type_die, [...]): Use DW_TAG_rvalue_reference_type even for...
Jakub Jelinek [Mon, 30 May 2011 19:21:26 +0000 (21:21 +0200)]
dwarf2out.c (modified_type_die, [...]): Use DW_TAG_rvalue_reference_type even for -gdwarf-4 -fno-debug-types-section.

* dwarf2out.c (modified_type_die, gen_reference_type_die): Use
DW_TAG_rvalue_reference_type even for
-gdwarf-4 -fno-debug-types-section.

From-SVN: r174449

13 years agore PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on...
Bill Schmidt [Mon, 30 May 2011 17:12:53 +0000 (17:12 +0000)]
re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc)

2011-05-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/46728
* tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
(build_and_insert_binop): New.
(gimple_expand_builtin_pow): Reorder args for
build_and_insert_call; use build_and_insert_binop; add more
optimizations for fractional exponents.

From-SVN: r174446

13 years agore PR c/4910 (imacat <imacat@mail.imacat.idv.tw>)
Nathan Froyd [Mon, 30 May 2011 16:42:05 +0000 (16:42 +0000)]
re PR c/4910 (imacat <imacat@mail.imacat.idv.tw>)

fix PR bootstrap/4910
gcc/
PR bootstrap/49190

Revert:
2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>

* tree.h (struct tree_identifier): Inherit from tree_typed, not
tree_common.
(HT_IDENT_TO_GCC_IDENT): Adjust for said change.
* tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
TS_BASE instead of TS_COMMON.
* varasm.c (assemble_name): Remove assert.

gcc/c-family/
PR bootstrap/49190

Revert:
2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>

* c-common.h (struct c_common_identifier): Inherit from tree_typed,
not tree_common.

From-SVN: r174445

13 years agotuple: Implement uses-allocator construction.
Jonathan Wakely [Mon, 30 May 2011 16:31:17 +0000 (16:31 +0000)]
tuple: Implement uses-allocator construction.

2011-05-30  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/std/tuple: Implement uses-allocator construction.
* include/bits/allocator.h (uses_allocator): Move to ...
* include/bits/uses_allocator.h: New file.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* testsuite/20_util/uses_allocator/cons_neg.cc: New.
* testsuite/20_util/uses_allocator/construction.cc: New.
* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
* testsuite/20_util/tuple/cons/allocators.cc: New.

From-SVN: r174443

13 years agoconfig.gcc: Keep obselete list sorted.
Richard Sandiford [Mon, 30 May 2011 16:27:54 +0000 (16:27 +0000)]
config.gcc: Keep obselete list sorted.

gcc/
* config.gcc: Keep obselete list sorted.

From-SVN: r174442

13 years agovar-tracking.c (vt_add_function_parameter): Remap incoming MEMs with crtl->args.inter...
Jakub Jelinek [Mon, 30 May 2011 15:16:40 +0000 (15:16 +0000)]
var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with crtl->args.internal_arg_pointer based address to...

* var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with
crtl->args.internal_arg_pointer based address to arg_pointer_rtx if
there is a DRAP register and arg_pointer_rtx is the CFA pointer.
(vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned.
(vt_initialize): Initialize cfa_base_rtx if there is a DRAP register.

From-SVN: r174438

13 years agogimple.c (gimple_types_compatible_p_1): Compare record and union type members properly.
Richard Guenther [Mon, 30 May 2011 14:55:03 +0000 (14:55 +0000)]
gimple.c (gimple_types_compatible_p_1): Compare record and union type members properly.

2011-05-30  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_types_compatible_p_1): Compare record
and union type members properly.

From-SVN: r174436

13 years agore PR middle-end/49210 (verify_gimple fails building ada/einfo.o at -O3)
Richard Guenther [Mon, 30 May 2011 13:12:23 +0000 (13:12 +0000)]
re PR middle-end/49210 (verify_gimple fails building ada/einfo.o at -O3)

2011-05-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49210
* ipa-split.c (split_function): Care for the case where the
call result is not trivially convertible to the result holding
variable.

* gnat.dg/boolean_subtype2.adb: New testcase.
* gnat.dg/boolean_subtype2.ads: Likewise.
* gnat.dg/boolean_subtype2_pkg.ads: Likewise.

From-SVN: r174435

13 years agore PR c++/49223 (Internal compiler error when using OpenMP)
Jakub Jelinek [Mon, 30 May 2011 12:16:04 +0000 (14:16 +0200)]
re PR c++/49223 (Internal compiler error when using OpenMP)

PR c++/49223
* semantics.c (finish_omp_clauses): Call require_complete_type
even for copyin/copyprivate clauses.  Only call
cxx_omp_create_clause_info if inner_type is COMPLETE_TYPE_P.

* g++.dg/gomp/pr49223-1.C: New test.
* g++.dg/gomp/pr49223-2.C: New test.

From-SVN: r174432

13 years agore PR middle-end/46500 (target.h includes tm.h)
Joern Rennecke [Mon, 30 May 2011 12:11:03 +0000 (12:11 +0000)]
re PR middle-end/46500 (target.h includes tm.h)

PR middle-end/46500
gcc/java:
* expr.c: Include "tm.h" .

From-SVN: r174431

13 years agore PR tree-optimization/49218 (Incorrect optimization of a 'for' loop creates an...
Richard Guenther [Mon, 30 May 2011 11:15:20 +0000 (11:15 +0000)]
re PR tree-optimization/49218 (Incorrect optimization of a 'for' loop creates an infinite loop)

2011-05-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49218
* tree-vrp.c (adjust_range_with_scev): Properly check whether
overflow occured.

* gcc.c-torture/execute/pr49218.c: New testcase.

From-SVN: r174429

13 years agotree-ssa-forwprop.c (forward_propagate_into_comparison): New function split out from ...
Richard Guenther [Mon, 30 May 2011 09:19:58 +0000 (09:19 +0000)]
tree-ssa-forwprop.c (forward_propagate_into_comparison): New function split out from ...

2011-05-30  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_into_comparison):
New function split out from ...
(forward_propagate_into_gimple_cond): ... here.  Adjust.
(forward_propagate_into_cond): Likewise.
(forward_propagate_comparison): Also propagate into
comparisons on assignment RHS.  Change return value to
behave similar to forward_propagate_into_cond.
(tree_ssa_forward_propagate_single_use_vars): Handle
strict-overflow warnings properly for forward_propagate_comparison.

From-SVN: r174428

13 years agoconfigure.ac (gcc_cv_lto_plugin): Determine lto plugin support from plugin linker.
Rainer Orth [Mon, 30 May 2011 08:45:07 +0000 (08:45 +0000)]
configure.ac (gcc_cv_lto_plugin): Determine lto plugin support from plugin linker.

* configure.ac (gcc_cv_lto_plugin): Determine lto plugin support
from plugin linker.
* configure: Regenerate.

From-SVN: r174426

13 years agore PR tree-optimization/49199 (ICE: in vect_create_epilog_for_reduction at tree-vect...
Ira Rosen [Mon, 30 May 2011 07:15:31 +0000 (07:15 +0000)]
re PR tree-optimization/49199 (ICE: in vect_create_epilog_for_reduction at tree-vect-loop.c:3445 with -O -fno-tree-scev-cprop -ftree-vectorize -funswitch-loops)

        PR tree-optimization/49199
        * tree-vect-loop.c (vect_is_slp_reduction): Check that the
        non-reduction operands are either defined in the loop or
        by induction.

From-SVN: r174425

13 years agoRevert wrong checkin
Xinliang David Li [Mon, 30 May 2011 04:42:05 +0000 (04:42 +0000)]
Revert wrong checkin

From-SVN: r174424

13 years agoNew option to disable/enable optimization passes.
Xinliang David Li [Mon, 30 May 2011 04:38:42 +0000 (04:38 +0000)]
New option to disable/enable optimization passes.

From-SVN: r174423

13 years agoDaily bump.
GCC Administrator [Mon, 30 May 2011 00:18:57 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r174422

13 years agoi386.md (*movoi_internal_avx): Use standard_sse_constant_opcode for alternative 0.
Uros Bizjak [Sun, 29 May 2011 21:33:27 +0000 (23:33 +0200)]
i386.md (*movoi_internal_avx): Use standard_sse_constant_opcode for alternative 0.

* config/i386/i386.md (*movoi_internal_avx): Use
standard_sse_constant_opcode for alternative 0.
(*movti_internal_sse): Ditto.
(*movti_internal_rex64): Use standard_sse_constant_opcode for
alternative 2.
(*movdi_internal_rex64): Use standard_sse_constant_opcode for
sselog1 type moves.
(*movsi_internal): Ditto.
(*movdi_internal): Ditto.  Add ssecvt type moves.

From-SVN: r174417

13 years agore PR fortran/47601 ([OOP] Internal Error: mio_component_ref(): Component not found)
Janus Weil [Sun, 29 May 2011 20:32:11 +0000 (22:32 +0200)]
re PR fortran/47601 ([OOP] Internal Error: mio_component_ref(): Component not found)

2011-05-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/47601
* module.c (mio_component_ref): Handle components of extended types.
* symbol.c (gfc_find_component): Return is sym is NULL.

2011-05-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/47601
* gfortran.dg/extends_13.f03: New.

From-SVN: r174416

13 years agoPR 48931 Use async-signal-safe execve instead of execvp
Janne Blomqvist [Sun, 29 May 2011 20:13:52 +0000 (23:13 +0300)]
PR 48931 Use async-signal-safe execve instead of execvp

From-SVN: r174415

13 years agore PR rtl-optimization/48830 (unrecognized insn: storing invalid upper FP reg in...
Eric Botcazou [Sun, 29 May 2011 20:01:41 +0000 (20:01 +0000)]
re PR rtl-optimization/48830 (unrecognized insn: storing invalid upper FP reg in SImode)

PR target/48830
* rtlanal.c (simplify_subreg_regno): Adjust comment.

From-SVN: r174414

13 years agore PR rtl-optimization/49095 (Horrible code generation for trivial decrement with...
Jakub Jelinek [Sun, 29 May 2011 18:51:48 +0000 (20:51 +0200)]
re PR rtl-optimization/49095 (Horrible code generation for trivial decrement with test)

PR rtl-optimization/49095
* config/i386/predicates.md (plusminuslogic_operator): New predicate.
* config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0.

* gcc.target/i386/pr49095.c: New test.

From-SVN: r174413

13 years agore PR fortran/45786 (Relational operators .eq. and == are not recognized as equivalent)
Thomas Koenig [Sun, 29 May 2011 18:41:00 +0000 (18:41 +0000)]
re PR fortran/45786 (Relational operators .eq. and == are not recognized as equivalent)

2011-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45786
* interface.c (gfc_equivalent_op):  New function.
(gfc_check_interface):  Use gfc_equivalent_op instead
of switch statement.
* decl.c (access_attr_decl):  Also set access to an
equivalent operator.

2011-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45786
* gfortran.dg/operator_7.f90:  New test case.

From-SVN: r174412

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Sun, 29 May 2011 18:17:40 +0000 (20:17 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * interface.c (compare_parameter): Add check for passing coarray
        to allocatable noncoarray dummy.

2011-05-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_24.f90: New.

From-SVN: r174411

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Sun, 29 May 2011 18:15:08 +0000 (20:15 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-29  Tobias Burnus  <burnus@net-b.de>
            Richard Guenther  <rguenther@suse.de>

        PR fortran/18918
        * trans-types.c (gfc_get_nodesc_array_type): Don't mess with
        the type's TREE_TYPE.
        * trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT.
        * trans.c (gfc_build_array_ref): Ditto.

2011-05-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_23.f90: New.

Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r174410

13 years agoAdd PR target/43700 to an earlier changelog entry.
Richard Sandiford [Sun, 29 May 2011 17:45:27 +0000 (17:45 +0000)]
Add PR target/43700 to an earlier changelog entry.

From-SVN: r174403

13 years agore PR target/43995 (internal compiler error: Segmentation fault on Mips64 crossbuild...
Richard Sandiford [Sun, 29 May 2011 17:41:50 +0000 (17:41 +0000)]
re PR target/43995 (internal compiler error: Segmentation fault on Mips64 crossbuild of ext2progs)

gcc/
PR target/43995
* config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
recurse_p argument.  Only follow register copies if it is set,
and prevent mips_find_pic_call_symbol from recursing.
(mips_find_pic_call_symbol): Add a recurse_p argument.
Pass it to mips_pic_call_symbol_from_set.
(mips_annotate_pic_calls): Update accordingly.

From-SVN: r174402

13 years agoemit-rtl.c (try_split): Use a loop to search for NOTE_INSN_CALL_ARG_LOCATIONs.
Richard Sandiford [Sun, 29 May 2011 17:40:05 +0000 (17:40 +0000)]
emit-rtl.c (try_split): Use a loop to search for NOTE_INSN_CALL_ARG_LOCATIONs.

gcc/
* emit-rtl.c (try_split): Use a loop to search for
NOTE_INSN_CALL_ARG_LOCATIONs.

gcc/testsuite/
From Ryan Mansfield
* gcc.dg/pr48826.c: New test.

From-SVN: r174401

13 years agore PR tree-optimization/49217 (Wrong optimization of code)
Richard Guenther [Sun, 29 May 2011 17:03:38 +0000 (17:03 +0000)]
re PR tree-optimization/49217 (Wrong optimization of code)

2011-05-29  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49217
* ipa-pure-const.c (propagate_pure_const): Fix typos.

* gcc.dg/torture/pr49217.c: New testcase.

From-SVN: r174400

13 years agore PR testsuite/49222 (FAIL: gcc.dg/vect/pr49038.c (test for excess errors) on *...
Ira Rosen [Sun, 29 May 2011 16:47:05 +0000 (16:47 +0000)]
re PR testsuite/49222 (FAIL: gcc.dg/vect/pr49038.c (test for excess errors) on *-apple-darwin*)

PR testsuite/49222
* gcc.dg/vect/pr49038.c: Use MAP_ANON if MAP_ANONYMOUS is not defined.

From-SVN: r174398

13 years agolto-streamer-out.c (hash_string_slot_node): Hash string based on its length.
Jan Hubicka [Sun, 29 May 2011 16:35:33 +0000 (18:35 +0200)]
lto-streamer-out.c (hash_string_slot_node): Hash string based on its length.

* lto-streamer-out.c (hash_string_slot_node): Hash string based on its
length.
(string_slot_free): Remove
(create_output_block): Initialize obstack.
(destroy_output_block): Free obstack.
(lto_string_index): Add PERSISTENT parameter; do not duplicate
the string unless it needs to be added into the hash.
(lto_output_string_with_length): Add persistent attribute;
handle NULL strings.
(lto_output_string): Add PERSISTENT parameter.
(output_string_cst, output_identifier): Simplify.
(lto_output_location_bitpack): Update.
(lto_output_builtin_tree): Update.
* lto-streamer.h (struct output_block): Add obstack.
(lto_output_string, lto_output_string_with_length): Remove declarations;
functions are static now.

From-SVN: r174397

13 years agoPR 49214 fd_gets should return NULL if nothing was read
Janne Blomqvist [Sun, 29 May 2011 13:17:17 +0000 (16:17 +0300)]
PR 49214 fd_gets should return NULL if nothing was read

From-SVN: r174395

13 years agolto-streamer-out.c (pack_ts_fixed_cst_value_fields, [...]): Use enum and variable...
Jan Hubicka [Sun, 29 May 2011 11:40:25 +0000 (13:40 +0200)]
lto-streamer-out.c (pack_ts_fixed_cst_value_fields, [...]): Use enum and variable length i/o.

* lto-streamer-out.c (pack_ts_fixed_cst_value_fields,
pack_ts_decl_common_value_fields, pack_ts_decl_with_vis_value_fields,
pack_ts_function_decl_value_fields, lto_output_builtin_tree,
output_cfg, output_gimple_stmt): Use enum and variable length i/o.
* lto-streamer-in.c (input_cfg, input_gimple_stmt,
unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields,
unpack_ts_decl_with_vis_value_fields,
unpack_ts_type_common_value_fields, unpack_ts_block_value_fields,
lto_get_builtin_tree): Use enum and variable length i/o.
* basic-block.h (profile_status_d): Add PROFILE_LAST.
* lto-streamer.h (bp_pack_int_in_range, bp_unpack_int_in_range):
New functions.
(bp_pack_enum, bp_unpack_enum): New macros.

From-SVN: r174394

13 years agoPR 19155 Check for strtod failure via endptr
Janne Blomqvist [Sun, 29 May 2011 08:59:44 +0000 (11:59 +0300)]
PR 19155 Check for strtod failure via endptr

From-SVN: r174393

13 years agoboolean_subtype.adb: Rename to...
Eric Botcazou [Sun, 29 May 2011 07:56:50 +0000 (07:56 +0000)]
boolean_subtype.adb: Rename to...

* gnat.dg/boolean_subtype.adb: Rename to...
* gnat.dg/boolean_subtype1.adb: ...this.

From-SVN: r174392

13 years agoDaily bump.
GCC Administrator [Sun, 29 May 2011 00:18:28 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r174391

13 years agore PR c++/46124 ([C++0x] ICE: tree check: expected var_decl or function_decl, have...
Jason Merrill [Sat, 28 May 2011 22:01:38 +0000 (18:01 -0400)]
re PR c++/46124 ([C++0x] ICE: tree check: expected var_decl or function_decl, have error_mark in cp_parser_lambda_declarator_opt, at cp/parser.c:7817 on invalid lambda function)

PR c++/46124
* parser.c (cp_parser_lambda_expression): Improve error recovery.
(cp_parser_lambda_declarator_opt): Likewise.  Return bool.

From-SVN: r174386

13 years agore PR c++/47277 ([C++0x] pseudo destructor code that cause an internal compiler error...
Jason Merrill [Sat, 28 May 2011 22:01:28 +0000 (18:01 -0400)]
re PR c++/47277 ([C++0x] pseudo destructor code that cause an internal compiler error with std=gnu++0x)

PR c++/47277
* parser.c (cp_parser_pseudo_destructor_name): Commit to parse
after we see the ~.

From-SVN: r174385

13 years agopointer_to.cc: Fix.
Jonathan Wakely [Sat, 28 May 2011 19:15:41 +0000 (19:15 +0000)]
pointer_to.cc: Fix.

2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>

* testsuite/20_util/pointer_traits/pointer_to.cc: Fix.

From-SVN: r174384

13 years agoacinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
Jonathan Wakely [Sat, 28 May 2011 17:27:01 +0000 (17:27 +0000)]
acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.

2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>

* acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and
GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
* configure.ac: Use them. Increase minor version.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/std/thread (thread::hardware_concurrency): Remove inline
definition.
* src/thread.cc (thread::hardware_concurrency): Define.
* config/abi/pre/gnu.ver: Export new symbol @3.4.17
* testsuite/util/testsuite_abi.cc: Add new version.
* testsuite/lib/libstdc++.exp (check_v3_target_nprocs): Add.
* testsuite/lib/dg-options.exp (dg-require-nprocs): Add.
* testsuite/30_threads/thread/members/hardware_concurrency.cc: Use
dg-require-nprocs and verify hardware_concurrency returns non-zero.

From-SVN: r174383