platform/upstream/linaro-gcc.git
12 years agoImplement predefined error interface.
ian [Tue, 29 Nov 2011 07:03:49 +0000 (07:03 +0000)]
Implement predefined error interface.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181798 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/51301
irar [Tue, 29 Nov 2011 07:00:53 +0000 (07:00 +0000)]
    PR tree-optimization/51301
        * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
        that the last statement doesn't convert to a bigger type than the
        original type of the computation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181797 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agors6000: Streamline boolval output for compare-and-swap.
rth [Tue, 29 Nov 2011 04:50:13 +0000 (04:50 +0000)]
rs6000: Streamline boolval output for compare-and-swap.

        * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
        Handle overlap between retval and oldval.  Always compute boolval
        from CR0 EQ value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181796 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
rth [Tue, 29 Nov 2011 04:50:01 +0000 (04:50 +0000)]
    * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
        new pseudo for target after convert_modes.
        (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181795 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * libgomp.h (enum memmodel): New.
rth [Tue, 29 Nov 2011 02:19:05 +0000 (02:19 +0000)]
    * libgomp.h (enum memmodel): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181794 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Tue, 29 Nov 2011 00:19:06 +0000 (00:19 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181793 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * g++.dg/cdce3.C: Use dg-additional-options.
uros [Mon, 28 Nov 2011 22:05:46 +0000 (22:05 +0000)]
* g++.dg/cdce3.C: Use dg-additional-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181789 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR debug/50317
jakub [Mon, 28 Nov 2011 21:04:45 +0000 (21:04 +0000)]
PR debug/50317
* tree-ssa.c (execute_update_addresses_taken): Remove
var ={v} {CLOBBER} stmts instead of rewriting them into
var_N ={v} {CLOBBER}.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181788 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/50907
jakub [Mon, 28 Nov 2011 21:04:10 +0000 (21:04 +0000)]
PR middle-end/50907
* function.c (convert_jumps_to_returns): When redirecting an edge
succ to EXIT_BLOCK_PTR, clear EDGE_CROSSING flag.

* gcc.dg/tree-prof/pr50907.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181787 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50078
jakub [Mon, 28 Nov 2011 21:03:11 +0000 (21:03 +0000)]
PR tree-optimization/50078
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over
TREE_THIS_VOLATILE also from the old to new lhs resp. rhs.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181786 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50682
jakub [Mon, 28 Nov 2011 21:02:27 +0000 (21:02 +0000)]
PR tree-optimization/50682
* tree-eh.c (maybe_remove_unreachable_handlers): New function.
* tree-flow.h (maybe_remove_unreachable_handlers): New prototype.
* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call it.

* g++.dg/opt/pr50682.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181785 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago c-family
amacleod [Mon, 28 Nov 2011 20:28:23 +0000 (20:28 +0000)]
c-family
* c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
predefines in one place.  Add LOCK_FREE predefines.
(c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
new func.

libstdc++-v3
* include/bits/atomic_base.h (ATOMIC_*_LOCK_FREE): Use new cpp
predefined macros.
* testsuite/29_atomics/headers/atomic/macros.cc: Add BOOL and POINTER
macro checks.  Check for expected compile time values.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181784 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoCleanup rs6000/t-ppccomm configurations (PR other/51022)
ro [Mon, 28 Nov 2011 16:02:10 +0000 (16:02 +0000)]
Cleanup rs6000/t-ppccomm configurations (PR other/51022)

PR other/51022
* config/rs6000/t-savresfgpr: New file.
* config/rs6000/t-ppccomm (LIB2ADD_ST): Remove all but
$(srcdir)/config/rs6000/eabi.S.
* config/rs6000/t-ppccomm-ldbl: Remove.
* config.host (powerpc-*-freebsd*): Add rs6000/t-savresfgpr to
tmake_file.
(powerpc-*-eabispe*): Likewise.
(powerpc-*-eabi*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add rs6000/t-ppccomm
to tmake_file, remove rs6000/t-ppccomm-ldbl.
(powerpc-*-eabisimaltivec*): Remove rs6000/t-ppccomm-ldbl from
tmake_file.
(powerpc-*-eabisim*): Likewise.
(powerpc-*-elf*): Likewise.
(powerpc-*-eabialtivec*): Likewise.
(powerpc-xilinx-eabi*): Likewise.
(powerpc-*-rtems*): Likewise.
(powerpcle-*-elf*): Likewise.
(powerpcle-*-eabisim*): Likewise.
(powerpcle-*-eabi*): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181782 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoReally commit the test case:
burnus [Mon, 28 Nov 2011 14:47:39 +0000 (14:47 +0000)]
Really commit the test case:

2011-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51308
        * gfortran.dg/iso_c_binding_compiler_4.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181779 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-28 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 28 Nov 2011 14:21:33 +0000 (14:21 +0000)]
2011-11-28  Tobias Burnus  <burnus@net-b.de>
            Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/51308
        * symbol.c (check_conflict): Ignore BIND(C) + PARAMETER
        conflicts for ISO_C_BINDING variables.
        (gen_special_c_interop_ptr): Don't mark c_ptr_null/c_funptr_null
        as SAVE.

2011-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51308
        * gfortran.dg/iso_c_binding_compiler_4.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181778 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 28 Nov 2011 13:24:23 +0000 (13:24 +0000)]
2011-11-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/51288
* include/std/iomanip (get_money, put_money): Use sentry.
* testsuite/27_io/manipulators/extended/get_money/char/51288.cc: New.
* testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181775 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/extend.texi (AVR Built-in Functions): Add documentation for
gjl [Mon, 28 Nov 2011 09:58:37 +0000 (09:58 +0000)]
* doc/extend.texi (AVR Built-in Functions): Add documentation for
__builtin_avr_map8 and __builtin_avr_map16.
* config/avr/avr.md: Document new %t and %T asm output codes.
(define_c_enum "unspec"): Add UNSPEC_MAP_BITS.
(adjust_len): Add map_bits.
(map_bitsqi, map_bitshi): New insns.
* config/avr/avr-protos.h (avr_out_map_bits): New.
* config/avr/avr-protos.c (print_operand): Implement %t and %T.
(adjust_insn_length): Handle ADJUST_LEN_MAP_BITS.
(avr_double_int_push_digit): New function.
(avr_map, avr_revert_map, avr_swap_map, avr_id_map): New functions.
(avr_sig_map, avr_map_hamming_byte): New functions.
(avr_out_swap_bits, avr_out_revert_bits, avr_move_bits,
avr_out_map_bits): New functions.
(enum avr_builtin_id): Add AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
(avr_init_builtins): Populate __builtin_avr_map8, __builtin_avr_map16.
(bdesc_2arg): Add __builtin_avr_map8, __builtin_avr_map16 ...
(avr_expand_builtin): ...and expand them.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
__BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181773 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoruntime: Multiplex goroutines onto OS threads.
ian [Mon, 28 Nov 2011 05:45:49 +0000 (05:45 +0000)]
runtime: Multiplex goroutines onto OS threads.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181772 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * generic-morestack.c (__splitstack_find): Check for NULL old
ian [Mon, 28 Nov 2011 05:44:31 +0000 (05:44 +0000)]
* generic-morestack.c (__splitstack_find): Check for NULL old
stack value.
(__splitstack_resetcontext): New function.
(__splitstack_releasecontext): New function.
* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181771 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Mon, 28 Nov 2011 00:19:24 +0000 (00:19 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181770 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/testsuite:
iains [Sun, 27 Nov 2011 14:09:13 +0000 (14:09 +0000)]
gcc/testsuite:
2011-11-27  Aldy Hernandez  <aldyh@redhat.com>
    Iain Sandoe  <iains@gcc.gnu.org>

* gcc.dg/lto/trans-mem-2_0.c: Add dg-lto-do link.  Add dummy
functions for _ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.
* gcc.dg/lto/trans-mem-1_0.c: Add dg-lto-do link.
* gcc.dg/lto/trans-mem-1_1.c:  Add dummy functions for
_ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181766 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibgcc:
iains [Sun, 27 Nov 2011 13:57:01 +0000 (13:57 +0000)]
libgcc:

* config/darwin-crt-tm.c: Correct comments, use correct licence.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181765 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibgcc:
iains [Sun, 27 Nov 2011 13:52:49 +0000 (13:52 +0000)]
libgcc:

* config/darwin-crt-tm.c: Remove dummy _ITM_ functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181764 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 27 Nov 2011 10:18:25 +0000 (10:18 +0000)]
gcc/
PR target/51278
* config/mips/mips.c (mips_rtx_costs): Handle baddu.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181763 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 27 Nov 2011 10:14:57 +0000 (10:14 +0000)]
gcc/
* config/mips/mips.c (mips16_unextended_reference_p): Test for BLKmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181762 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 27 Nov 2011 10:09:32 +0000 (10:09 +0000)]
gcc/
* config/mips/mips-protos.h (mips_emit_binary): Declare.
* config/mips/mips.c (mips_emit_binary): Make global.
(mips_set_mips16_mode): Turn off -mfix-r4000 in MIPS16 mode.
(mips_conditional_register_usage): Don't treat LO and HI as
register operands in MIPS16 mode.
(mips_mulsidi3_gen_fn): Use {u,}mulsidi3_{32,64}bit_mips16
for MIPS16 code.
* config/mips/predicates.md (muldiv_target_operand): New predicate.
(move_operand): Allow hilo_operand.
* config/mips/mips.md (mul<mode>3): Explicitly specify LO as the
target of MIPS16 multiplies, then move it into the target register.
(mul<mode>3_internal, *macc2, *msac2): Use muldiv_target_operand.
(<u>mulsidi3_32bit_mips16): New expander.
(<u>mulsidi3_32bit): Use muldiv_target_operand.
(<u>mulsidi3_32bit_r4000): Disable for ISA_HAS_DSP.
(<u>mulsidi3_64bit): Require !TARGET_MIPS16.  Split into
<u>mulsidi3_64bit_split.
(<u>mulsidi3_64bit_mips16): New expander.
(<u>mulsidi3_64bit_split): Likewise, using expansions from
two previous define_splits.
(<u>mulsidi3_64bit_hilo, *muls<u>_di, <u>msubsidi4): Use
muldiv_target_operand.
(<su>mulsi3_highpart): Use <su>mulsi3_highpart_split for MIPS16 code.
(<su>mulsi3_highpart_internal): Require !TARGET_MIPS16.
Split into <su>mulsi3_highpart_split.
(<su>mulsi3_highpart_split): New expander.
(<su>muldi3_highpart): Turn into a define_expand.
Use <su>muldi3_highpart_split for MIPS16 code.
(<su>muldi3_highpart_internal): Renamed from <su>muldi3_highpart.
Require !TARGET_MIPS16.  Split into <su>muldi3_highpart_split.
(<su>muldi3_highpart_split): New expander.
(<u>mulditi3): Explicitly specify LO as the target of MIPS16
multiplies, then move it into the target register.
(<u>mulditi3_internal, <u>maddsidi4): Use muldiv_target_operand.
(divmod<mode>4, udivmod<mode>4): Turn into define_expands.
Use <u>divmod<mode>4_split for MIPS16 code, then explicitly
move LO into operand 0.
(divmod<mode>4_internal, udivmod<mode>4_internal): Renamed
from <u>divmod<mode>4.  Use muldiv_target_operand.
Require !TARGET_MIPS16.  Split into <u>divmod<mode>4_split.
(<u>divmod<mode>4_split): New expander.
(<u>divmod<GPR:mode>4_hilo_<HILO:mode>): Use muldiv_target_operand.
(mfhi<GPR:mode>_<HILO:mode>): Use hilo_operand.

gcc/testsuite/
* gcc.target/mips/mult-2.c, gcc.target/mips/mult-3.c,
gcc.target/mips/mult-4.c, gcc.target/mips/mult-5.c,
gcc.target/mips/mult-6.c, gcc.target/mips/mult-7.c,
gcc.target/mips/mult-8.c, gcc.target/mips/mult-9.c,
gcc.target/mips/mult-10.c, gcc.target/mips/mult-11.c,
gcc.target/mips/mult-12.c, gcc.target/mips/mult-13.c,
gcc.target/mips/mult-14.c, gcc.target/mips/mult-15.c,
gcc.target/mips/mult-16.c, gcc.target/mips/mult-17.c,
gcc.target/mips/mult-18.c, gcc.target/mips/mult-19.c,
gcc.target/mips/div-1.c, gcc.target/mips/div-2.c,
gcc.target/mips/div-3.c, gcc.target/mips/div-4.c,
gcc.target/mips/div-5.c, gcc.target/mips/div-6.c,
gcc.target/mips/div-7.c, gcc.target/mips/div-8.c,
gcc.target/mips/div-9.c, gcc.target/mips/div-10.c,
gcc.target/mips/div-11.c, gcc.target/mips/div-12.c: New tests.
* gcc.target/mips/fix-r4000-1.c (foo, bar): Add NOMIPS16.
* gcc.target/mips/fix-r4000-2.c (foo): Likewise.
* gcc.target/mips/fix-r4000-3.c (foo): Likewise.
* gcc.target/mips/fix-r4000-4.c (foo): Likewise.
* gcc.target/mips/fix-r4000-5.c (foo): Likewise.
* gcc.target/mips/fix-r4000-6.c (foo): Likewise.
* gcc.target/mips/fix-r4000-7.c (foo): Likewise.
* gcc.target/mips/fix-r4000-8.c (foo): Likewise.
* gcc.target/mips/fix-r4000-9.c (foo): Likewise.
* gcc.target/mips/fix-r4000-10.c (foo): Likewise.
* gcc.target/mips/fix-r4000-11.c (foo): Likewise.
* gcc.target/mips/fix-r4000-12.c (foo): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181761 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 27 Nov 2011 10:09:15 +0000 (10:09 +0000)]
gcc/
* hard-reg-set.h (target_hard_regs): Add x_accessible_reg_set
and x_operand_reg_set.
(accessible_reg_set, operand_reg_set): New macros.
* reginfo.c (init_reg_sets): Initialize accessible_reg_set and
operand_reg_set.
(saved_accessible_reg_set, saved_operand_reg_set): New variables.
(save_register_info): Save them.
(restore_register_info): Restore them.
(init_reg_sets_1): Limit operand_reg_set to accessible_reg_set.
Remove NO_REGS registers from operand_reg_set.  Treat members
of operand_reg_set as fixed.
* recog.c (general_operand): Check operand_reg_set rather than
NO_REGS.
(register_operand, nonmemory_operand): Likewise.
* varasm.c (make_decl_rtl): Always use DECL_MODE as the mode of
register variables.  Check accessible_reg_set and operand_reg_set.
* config/mips/mips.c (mips_conditional_register_usage): Remove
inaccessible register from accessible_reg_set, rather than just
making them fixed.

gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Make -mno-dsp
imply -mno-dspr2.
* gcc.target/mips/no-dsp-1.c: New test.
* gcc.target/mips/soft-float-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181760 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/pa/pa-linux.h (TARGET_GAS): Remove comment.
gerald [Sun, 27 Nov 2011 05:50:12 +0000 (05:50 +0000)]
* config/pa/pa-linux.h (TARGET_GAS): Remove comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181759 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
gerald [Sun, 27 Nov 2011 02:42:21 +0000 (02:42 +0000)]
* doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
of i386.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181758 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * scripts/run_doxygen (problematic): Change Linux reference to
gerald [Sun, 27 Nov 2011 01:09:22 +0000 (01:09 +0000)]
* scripts/run_doxygen (problematic): Change Linux reference to
GNU/Linux.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181757 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
gerald [Sun, 27 Nov 2011 00:21:28 +0000 (00:21 +0000)]
* doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
Fix reference to GCC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181756 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoarm: Install __sync libfuncs for Linux.
rth [Sun, 27 Nov 2011 00:20:48 +0000 (00:20 +0000)]
arm: Install __sync libfuncs for Linux.

        * config/arm/arm.c (arm_init_libfuncs): Call init_sync_libfuncs
        for Linux.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181755 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sun, 27 Nov 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181754 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix expand_atomic_fetch_op wrt unused_result.
rth [Sun, 27 Nov 2011 00:10:18 +0000 (00:10 +0000)]
Fix expand_atomic_fetch_op wrt unused_result.

        * optabs.c (expand_atomic_fetch_op): Always return result.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181750 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix init_sync_libfuncs_1 iteration.
rth [Sun, 27 Nov 2011 00:06:16 +0000 (00:06 +0000)]
Fix init_sync_libfuncs_1 iteration.

        * optabs.c (init_sync_libfuncs_1): Include max in iteration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181749 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoomp-low: Assume anything aligned to BIGGEST_ALIGNMENT is aligned.
rth [Sun, 27 Nov 2011 00:01:04 +0000 (00:01 +0000)]
omp-low: Assume anything aligned to BIGGEST_ALIGNMENT is aligned.

        * omp-low.c (expand_omp_atomic): Assume anything aligned to
        BIGGEST_ALIGNMENT is aligned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181748 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agom68k: Implement CAS and TAS patterns.
rth [Sat, 26 Nov 2011 23:59:56 +0000 (23:59 +0000)]
m68k: Implement CAS and TAS patterns.

        * config/m68k/m68k.md (UNSPECV_CAS_1, UNSPECV_CAS_2): New.
        (UNSPECV_TAS_1, UNSPECV_TAS_2): New.
        (I): New mode iterator.
        (xz): New mode attribute.
        * config/m68k/sync.md: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181747 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agom68k-linux: Implement atomic operations via syscall.
rth [Sat, 26 Nov 2011 23:57:37 +0000 (23:57 +0000)]
m68k-linux: Implement atomic operations via syscall.

libgcc/
* config/m68k/linux.h (TARGET_INIT_LIBFUNCS): New.
* config/m68k/m68k.c (m68k_init_sync_libfuncs): New.
gcc/
* config/m68k/linux-atomic.c: New file.
* config/m68k/t-linux: New file.
* config.host (m68k-uclinux, m68k-linux): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181746 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR gcov-profile/51297
nathan [Sat, 26 Nov 2011 21:44:24 +0000 (21:44 +0000)]
PR gcov-profile/51297
* gcov.c (main): Allocate initial names and sources arrays.
(find_source): Don't check for null name or source arrays here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181745 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocrtstuff: adjust tm clones for no attribute hidden
rth [Sat, 26 Nov 2011 21:16:49 +0000 (21:16 +0000)]
crtstuff: adjust tm clones for no attribute hidden

        * crtstuff.c (__TMC_LIST__): Mark used not unused.
        (__TMC_END__): Only declare if hidden is available; in the definition,
        if hidden is unavailable add a null record.
        (deregister_tm_clones, register_tm_clones): New.
        (__do_global_dtors_aux, frame_dummy): Use them.
        (__do_global_dtors, __do_global_ctors_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181744 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/49912
jakub [Sat, 26 Nov 2011 20:50:28 +0000 (20:50 +0000)]
PR rtl-optimization/49912
* cfgrtl.c (rtl_verify_flow_info_1): Ignore also EDGE_PRESERVE bit
when counting n_branch.

* g++.dg/other/pr49912.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181743 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
uros [Sat, 26 Nov 2011 15:48:39 +0000 (15:48 +0000)]
* gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
effective target.
* gcc.dg/vect/fast-math-bb-slp-call-2.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181742 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
uros [Sat, 26 Nov 2011 15:35:33 +0000 (15:35 +0000)]
* gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
effective target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181741 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR libstdc++/51296
redi [Sat, 26 Nov 2011 15:15:22 +0000 (15:15 +0000)]
PR libstdc++/51296
* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
on alpha*-*-osf*.
* testsuite/30_threads/future/cons/constexpr.cc: Disable debug
symbols.
* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181740 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/sync.md (movdi_via_fpu): Add %Z insn suffixes.
uros [Sat, 26 Nov 2011 10:55:09 +0000 (10:55 +0000)]
* config/i386/sync.md (movdi_via_fpu): Add %Z insn suffixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181739 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/50074
amylaar [Sat, 26 Nov 2011 09:21:47 +0000 (09:21 +0000)]
    PR middle-end/50074
        * calls.c (mem_overlaps_already_clobbered_arg_p):
        Return false if no outgoing arguments have been stored so far.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181738 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sat, 26 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181735 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (set_loop_bounds): Remove dead conditions.
mikael [Fri, 25 Nov 2011 20:24:10 +0000 (20:24 +0000)]
* trans-array.c (set_loop_bounds): Remove dead conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181731 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agofortran/
mikael [Fri, 25 Nov 2011 20:18:21 +0000 (20:18 +0000)]
fortran/
PR fortran/51250
PR fortran/43829
* trans-array.c (gfc_trans_create_temp_array): Get dimension from
the right gfc_ss struct.

testsuite/
PR fortran/51250
PR fortran/43829
* gfortran.dg/inline_sum_3.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181730 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR testsuite/51258
uros [Fri, 25 Nov 2011 19:30:58 +0000 (19:30 +0000)]
PR testsuite/51258
* lib/target-supports.exp
(check_effective_target_sync_long_long): Also supported on 32bit
x86 targets.  Add comment about required dg-options.
Add alpha*-*-* targets.
(check_effective_target_sync_long_long_runtime): Ditto.

* gcc.dg/atomic-op-4.c (dg-options): Add -march=pentium for
32bit x86 targets.
* gcc.dg/atomic-compare-exchange-4.c: Ditto.
* gcc.dg/atomic-exchange-4.c: Ditto.
* gcc.dg/atomic-load-4.c: Ditto.
* gcc.dg/atomic-store-4.c: Ditto.
* gcc.dg/di-longlong64-sync-1.c: Ditto.
* gcc.dg/di-sync-multithread.c: Ditto.
* gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
* gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181728 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR testsuite/51258
uros [Fri, 25 Nov 2011 17:41:44 +0000 (17:41 +0000)]
PR testsuite/51258
* lib/target-supports.exp
(check_effective_target_sync_int_128_runtime): New procedure.
(check_effective_target_sync_long_long_runtime): Ditto.
(check_effective_target_sync_long_long): Add arm*-*-*.
(check_effective_target_sync_longlong): Remove.

* gcc.dg/atomic-op-5.c: Require sync_int_128_runtime effective target.
* gcc.dg/atomic-compare-exchange-5.c: Ditto.
* gcc.dg/atomic-exchange-5.c: Ditto.
* gcc.dg/atomic-load-5.c: Ditto.
* gcc.dg/atomic-store-5.c: Ditto.
* gcc.dg/simulate-thread/atomic-load-int128.c: Ditto.
* gcc.dg/simulate-thread/atomic-other-int128.c: Ditto.
* gcc.dg/atomic-op-4.c: Require sync_long_long_runtime
effective target.
* gcc.dg/atomic-compare-exchange-4.c: Ditto.
* gcc.dg/atomic-exchange-4.c: Ditto.
* gcc.dg/atomic-load-4.c: Ditto.
* gcc.dg/atomic-store-4.c: Ditto.
* gcc.dg/di-longlong64-sync-1.c: Ditto.
* gcc.dg/di-sync-multithread.c: Ditto.
* gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
* gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181727 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Nov 2011 16:26:47 +0000 (16:26 +0000)]
2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50408
        * trans-decl.c (gfc_get_module_backend_decl): Also copy
        ts.u.derived from the gsym if the ts.type is BT_CLASS.
        (gfc_get_extern_function_decl): Copy also the backend_decl
        for the symbol's ts.u.{derived,cl} from the gsym.
        * trans-types.c (gfc_copy_dt_decls_ifequal): Directly
        return if "from" and "to" are the same.

2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50408
        * gfortran.dg/whole_file_35.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181725 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Nov 2011 15:18:06 +0000 (15:18 +0000)]
2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51302
        * trans-stmt.c (gfc_trans_simple_do): Add a fold_convert.

2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51302
        * gfortran.dg/volatile13.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181724 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd myself in write-after-approval list
sameerad [Fri, 25 Nov 2011 15:01:16 +0000 (15:01 +0000)]
Add myself in write-after-approval list

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181723 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.
gjl [Fri, 25 Nov 2011 15:00:39 +0000 (15:00 +0000)]
* config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181722 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-24 Andrew MacLeod <amacleod@redhat.com>
amacleod [Fri, 25 Nov 2011 13:35:13 +0000 (13:35 +0000)]
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

PR other/51011
* tree.h (is_builtin_name): No longer external.
* builtins.c (is_builtin_name): Make static.
* varasm.c (incorporeal_function_p): __sync and __atomic external calls
are not incorporeal and may need asm label processing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181721 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/50566
gjl [Fri, 25 Nov 2011 10:46:10 +0000 (10:46 +0000)]
PR target/50566
* config/avr/avr-protos.h (avr_log_t): Add field .builtin.
* config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
Don't bypass TARGET_ALL_DEBUG.  Print self-info with ?.
(avr_log_vadump): Support %D and %X to print double_int.
(avr_double_int_pop_digit): New static function.
(avr_dump_double_int_hex): New static function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181718 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix ChangeLog typo for last commit.
kyukhin [Fri, 25 Nov 2011 10:34:16 +0000 (10:34 +0000)]
Fix ChangeLog typo for last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181715 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/51287
kyukhin [Fri, 25 Nov 2011 09:46:27 +0000 (09:46 +0000)]
   PR target/51287
       * i386.c (distance_non_agu_define): Fix insn attr check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181713 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-24 Andrew MacLeod <amacleod@redhat.com>
amacleod [Fri, 25 Nov 2011 03:00:38 +0000 (03:00 +0000)]
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

PR c/51256
* c-common.c (get_atomic_generic_size): Check for various error
conditions
(resolve_overloaded_atomic_exchange,
resolve_overloaded_atomic_compare_exchange,
resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
error_mark_node for error conditions.
* gcc.dg/atomic-pr51256.c: New.  Test error conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181709 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Fri, 25 Nov 2011 01:00:44 +0000 (01:00 +0000)]
/cp
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51227
* pt.c (instantiate_class_template_1): If lambda_function (type)
is NULL_TREE do not instantiate_decl.

/testsuite
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51227
* g++.dg/cpp0x/lambda/lambda-ice5.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181707 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 25 Nov 2011 00:18:59 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181706 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-24 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 24 Nov 2011 23:14:31 +0000 (23:14 +0000)]
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

* optab.c (maybe_emit_atomic_exchange): New.  Try to emit an
atomic_exchange pattern.
(maybe_emit_sync_lock_test_and_set): New.  Try to emit an exchange
using __sync_lock_test_and_set.
(maybe_emit_compare_and_swap_exchange_loop): New. Try to emit an
exchange using a compare_and_swap loop.
(expand_sync_lock_test_and_set): New.  Expand sync_lock_test_and_set.
(expand_atomic_test_and_set): New.  Expand test_and_set operation.
(expand_atomic_exchange): Use new maybe_emit_* functions.
(expand_atomic_store): Use new maybe_emit_* functions.
* builtins.c (expand_builtin_sync_lock_test_and_set): Call
expand_sync_lock_test_and_set routine.
(expand_builtin_atomic_exchange): Remove parameter from call.
(expand_builtin_atomic_clear): Use atomic_clear pattern if present.
(expand_builtin_atomic_test_and_set): Add target and simply call
expand_atomic_test_and_set.
(expand_builtin): Add target to expand_builtin_atomic_test_and_set.
* expr.h (expand_atomic_exchange): Add parameter.
(expand_sync_lock_test_and_set): New prototype.
(expand_atomic_test_and_set, expand_atomic_clear): New prototypes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181702 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRevert revision 181357.
hjl [Thu, 24 Nov 2011 22:11:12 +0000 (22:11 +0000)]
Revert revision 181357.

gcc/

2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>

PR target/51134
* config/i386/i386.h (processor_costs): Revert revision 181357.
* config/i386/i386.c (cost models): Likewise.
(core_cost): Likewise.
(promote_duplicated_reg): Likewise.
(promote_duplicated_reg_to_size): Likewise.
(processor_target): Likewise.
(expand_set_or_movmem_via_loop_with_iter): Likewise.
(expand_set_or_movmem_via_loop): Likewise.
(emit_strset): Likewise.
(expand_movmem_epilogue): Likewise.
(expand_setmem_epilogue): Likewise.
(expand_movmem_prologue): Likewise.
(expand_setmem_prologue): Likewise.
(expand_constant_movmem_prologue): Likewise.
(expand_constant_setmem_prologue): Likewise.
(decide_alg): Likewise.
(decide_alignment): Likewise.
(ix86_expand_movmem): Likewise.
(ix86_expand_setmem): Likewise.
(ix86_slow_unaligned_access): Likewise.
* config/i386/i386.md (strset): Likewise.
* config/i386/sse.md (vec_dupv4si): Likewise.
(vec_dupv2di): Likewise.

gcc/testsuite/

2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>

PR target/51134
* gcc.target/i386/sw-1.c: Revert revision 181357.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181701 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/avr/avr.md (*rotlhi2.15): Set length to 4.
gjl [Thu, 24 Nov 2011 21:12:00 +0000 (21:12 +0000)]
* config/avr/avr.md (*rotlhi2.15): Set length to 4.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181700 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-24 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 24 Nov 2011 17:57:41 +0000 (17:57 +0000)]
2011-11-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51218
        * resolve.c (pure_subroutine): If called subroutine is
        impure, unset implicit_pure.
        (resolve_function): Move impure check to simplify code.

2011-11-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51218
        * gfortran.dg/implicit_pure_1.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181698 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix several atomic tests on 32-bit x86 (PR testsuite/51258)
ro [Thu, 24 Nov 2011 16:34:09 +0000 (16:34 +0000)]
Fix several atomic tests on 32-bit x86 (PR testsuite/51258)

PR testsuite/51258
* gcc.dg/atomic-compare-exchange-5.c: Add -mcx16 on i?86-*-*.
* gcc.dg/atomic-exchange-5.c: Likewise.
* gcc.dg/atomic-load-5.c: Likewise.
* gcc.dg/atomic-op-5.c: Likewise.
* gcc.dg/atomic-store-5.c: Likewise.
* gcc.dg/simulate-thread/atomic-other-int128.c: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181697 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix bootstrap error in s-taprop-tru64.adb
ro [Thu, 24 Nov 2011 16:27:31 +0000 (16:27 +0000)]
Fix bootstrap error in s-taprop-tru64.adb

* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181696 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/50290
jakub [Thu, 24 Nov 2011 15:23:18 +0000 (15:23 +0000)]
PR rtl-optimization/50290
* gcc.dg/pr50290.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181694 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-data-ref.c (initialize_data_dependence_relation): Update
razya [Thu, 24 Nov 2011 14:07:36 +0000 (14:07 +0000)]
    * tree-data-ref.c (initialize_data_dependence_relation): Update
        * comment for the
        self dependence case.
        (compute_self_dependence): Remove.
        * tree-vect-data-refs.c (vect_analyze_data_refs): Remove call to
        compute_self_dependenc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181691 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Thu, 24 Nov 2011 10:20:43 +0000 (10:20 +0000)]
/cp
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51290
* class.c (build_base_path): For the null pointer check use
nullptr_node instead of integer_zero_node.

/testsuite
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51290
* g++.dg/warn/Wzero-as-null-pointer-constant-3.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181690 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/50888
jakub [Thu, 24 Nov 2011 07:18:16 +0000 (07:18 +0000)]
PR bootstrap/50888
* prims.cc: Don't include ctype.h.
(c_isspace): Define.
(next_property_key, next_property_value): Use it instead
of isspace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181685 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * c-decl.c (warn_if_shadowing): Don't warn if shadowed
amodra [Thu, 24 Nov 2011 02:45:21 +0000 (02:45 +0000)]
* c-decl.c (warn_if_shadowing): Don't warn if shadowed
identifier is from system header.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181684 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 24 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181683 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 François Dumont <fdumont@gcc.gnu.org>
fdumont [Wed, 23 Nov 2011 20:30:18 +0000 (20:30 +0000)]
2011-11-23  François Dumont <fdumont@gcc.gnu.org>

PR libstdc++/41975
* include/bits/hashtable.h (_Hashtable<>): Major data model
modification to limit performance impact of empty buckets in
erase(iterator) implementation.
* include/bits/hashtable_policy.h (_Hashtable_iterator,
_Hashtable_const_iterator): Remove not used anymore.
* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
_M_grow_factor, just use natural evolution of prime numbers. Add
_M_prev_size to know when the number of buckets can be reduced.
* include/bits/unordered_set.h (__unordered_set<>,
__unordered_multiset<>), unordered_map.h (__unordered_map<>,
__unordered_multimap<>): Change default value of cache hash code
template parameter, false for integral types with noexcept hash
functor, true otherwise.
* include/debug/unordered_map, unordered_set: Adapt transformation
from iterator/const_iterator to respectively
local_iterator/const_local_iterator.
* testsuite/performance/23_containers/copy_construct/unordered_set.cc:
New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: New.
* testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New.
* testsuite/23_containers/unordered_multiset/cons/copy.cc: New.
* testsuite/23_containers/unordered_multiset/erase/1.cc,
24061-multiset.cc: Add checks on the number of bucket elements.
* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc,
multiset_single.cc, multiset_single_move.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181677 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/51261
jakub [Wed, 23 Nov 2011 20:29:08 +0000 (20:29 +0000)]
PR target/51261
* config/i386/i386.c (decide_alg): Initialize *dynamic_check
even if !optimize.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181676 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 23 Nov 2011 18:51:17 +0000 (18:51 +0000)]
2011-11-23  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/48455
* doc/invoke.texi (-fira-region): Document default values.

* flags-types.h (enum ira_region): Add new value
IRA_REGION_AUTODETECT.

* common.opt (fira-region): Set up initial value to
IRA_REGION_AUTODETECT.

* toplev.c (process_options): Set up flag_ira_region depending on
-O options.

* ira.c (ira.c): Remove optimize guard for ira_build.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181675 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * lang.c (java_init_options_struct): Disable optimizations
law [Wed, 23 Nov 2011 17:37:01 +0000 (17:37 +0000)]
* lang.c (java_init_options_struct): Disable optimizations
which assume a NULL pointer dereference will cause a fault.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181674 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 23 Nov 2011 14:05:26 +0000 (14:05 +0000)]
2011-11-23  Thomas Quinot  <quinot@adacore.com>

* thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
only on platforms where this is required, as determined by
s-oscons.h.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb: No check on entry index if error on index.

2011-11-23  Gary Dismukes  <dismukes@adacore.com>

* sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
return statements nested inside an extended_return_statement.
* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181670 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 23 Nov 2011 13:53:11 +0000 (13:53 +0000)]
2011-11-23  Thomas Quinot  <quinot@adacore.com>

* mlib-tgt-specific-vxworks.adb: Minor reformatting.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* Make-generated.in (Sdefault.Target_Name): Set to
$(target_noncanonical) instead of $(target) for consistency.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181669 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 23 Nov 2011 13:51:23 +0000 (13:51 +0000)]
2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_All_Ent): An incomplete type is not
frozen by a subprogram body that does not come from source.

2011-11-23  Pascal Obry  <obry@adacore.com>

* s-oscons-tmplt.c: Add PTY_Library constant. It contains
the library for pseudo terminal support.
* g-exptty.ads: Add pseudo-terminal library into a Linker_Options
pragma.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb: No check on entry family index if generic.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
System.OS_Constants from shared spec of
System.Tasking.Primitive_Operations to the specific body variants
that really require this dependency.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
If the declaration has aspects, analyze them so they can be
properly rejected.

2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>

* a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
Add with and use clause for Ada.Finalization. Type
Iterator and Child_Iterator are now derived from Limited_Controlled.
(Finalize): New routine.
(Iterate): Add a renaming of counter Busy and
increment it. Update the return aggregate.
(Iterate_Children): Add a renaming of
counter Busy and increment it. Update the return aggregate.
(Iterate_Subtree): Add a renaming of counter Busy and increment
it. Update the return aggregate.
* a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
type.
* a-cihama.ads: Type Map_Access is now a general access type.
* a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
associated with the tree.
* a-cohama.ads: Type Map_Access is now a general access type.
* a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
access type.
* exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
to wrap the loop as this is done at an earlier step, during
analysis. The declarations of the iterator and the cursor use
the usual Insert_Action mechanism when added into the tree.
* sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
Loop_Statement and replace all respective uses by N. Add local
constant Loc. Preanalyze the loop iterator to discover whether
it is a container iterator and if it is, wrap the loop in a
block. This ensures that any controlled temporaries produced
by the iteration scheme share the same lifetime of the loop.
(Is_Container_Iterator): New routine.
(Is_Wrapped_In_Block): New routine.
(Pre_Analyze_Range): Move spec and body to the library level.

2011-11-23  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
that controls casing of type and subtype names.

2011-11-23  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb: Minor addition of comments.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* prj-part.adb (Extension_Withs): New global variable,
contains the head of the list of WITH clauses from the EXTENDS
ALL projects for which virtual packages are being created.
(Look_For_Virtual_Projects_For): When recursing through
an EXTENDS ALL, add the WITH clauses of the extending
project to Extension_Withs.  When adding a project to the
Virtual_Hash, record the associated Extension_Withs list.
(Create_Virtual_Extending_Project): Add a copy of the appropriate
Extension_Withs to the virtual project.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* mlib-tgt-specific-vxworks.adb: Minor reformatting.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* Make-generated.in (Sdefault.Target_Name): Set to
$(target_noncanonical) instead of $(target) for consistency.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181668 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Matthew Heaney <heaney@adacore.com>
charlet [Wed, 23 Nov 2011 13:36:40 +0000 (13:36 +0000)]
2011-11-23  Matthew Heaney  <heaney@adacore.com>

* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
Iterator type as limited (First, Last): Cursor return value
depends on iterator node value (Iterate): Use start position as
iterator node value (Next, Previous): Forward to corresponding
cursor-based operation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181667 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Matthew Heaney <heaney@adacore.com>
charlet [Wed, 23 Nov 2011 13:32:44 +0000 (13:32 +0000)]
2011-11-23  Matthew Heaney  <heaney@adacore.com>

* a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
Renamed from Ordered_Set_Iterator_Interfaces.
* a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
Iterator type as limited (First, Last): Cursor return value
depends on iterator node value (Iterate): Use start position as
iterator node value (Next, Previous): Forward to corresponding
cursor-based operation.
* a-cohase.ads, a-cohase.adb: Implemented forward iterator.
* a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
node component (First, Next): Forward call to corresponding
cursor-based operation (Iterate): Representation of iterator no
longer has node component

2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
dereference has a proper type before the side effect removal
mechanism kicks in.
* sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
where the base type of the subtype is a private itype created
to act as the partial view of a constrained record type. This
scenario manifests with equivalent class-wide types for records
with unknown discriminants.

2011-11-23  Jerome Guitton  <guitton@adacore.com>

* s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
reformatting/reorganization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181666 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 23 Nov 2011 13:22:51 +0000 (13:22 +0000)]
2011-11-23  Thomas Quinot  <quinot@adacore.com>

* g-htable.ads: Remove old comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181665 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Wed, 23 Nov 2011 13:22:30 +0000 (13:22 +0000)]
2011-11-23  Chung-Lin Tang  <cltang@codesourcery.com>

PR rtl-optimization/50496
* jump.c (redirect_jump): Assert fail on nlabel == NULL_RTX
only after epilogue is created. Add comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181664 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 23 Nov 2011 13:19:56 +0000 (13:19 +0000)]
2011-11-23  Thomas Quinot  <quinot@adacore.com>

* exp_imgv.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181663 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRemove hard coded clock id.
charlet [Wed, 23 Nov 2011 11:33:23 +0000 (11:33 +0000)]
Remove hard coded clock id.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181662 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoUpdate dependencies.
charlet [Wed, 23 Nov 2011 11:25:39 +0000 (11:25 +0000)]
Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181661 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Robert Dewar <dewar@adacore.com>
charlet [Wed, 23 Nov 2011 11:24:48 +0000 (11:24 +0000)]
2011-11-23  Robert Dewar  <dewar@adacore.com>

* sem_ch9.adb (Analyze_Entry_Declaration): Check for entry
family bounds out of range.

2011-11-23  Matthew Heaney  <heaney@adacore.com>

* a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare
type as limited, and remove node component.
(First, Next): Forward call to corresponding cursor-based operation.
(Iterate): Representation of iterator no longer has node component.

2011-11-23  Yannick Moy  <moy@adacore.com>

* exp_util.adb: Revert previous change to remove side-effects in Alfa
mode, which is not the correct thing to do for renamings.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb,
s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads,
s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb,
s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c,
s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl,
s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads,
s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb,
s-taprop-posix.adb: Remove hard-coded clock ids;
instead, generate them in System.OS_Constants.
(System.OS_Constants.CLOCK_RT_Ada): New constant denoting the
id of the clock providing Ada.Real_Time.Monotonic_Clock.
* thread.c: New file.
(__gnat_pthread_condattr_setup): New function. For platforms where
CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition
variable attribute.

2011-11-23  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb: Restore the use of Expander_Active instead of
Full_Expander_Active, so that the evaluation is forced in Alfa
mode too. Otherwise, we end up with an unexpected insertion in a
place where it is not supposed to happen, on default parameters
of a call.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

* prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr"
for Pretty_Print, for use from within gdb.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181660 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 23 Nov 2011 11:04:39 +0000 (11:04 +0000)]
2011-11-23  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop): Wrap the expanded loop
and the cursor declarations in a block, so that the loop variable
is local to the construct.

2011-11-23  Matthew Heaney  <heaney@adacore.com>

* a-coorma.ads, a-ciorma.ads, a-cborma.ads (Iterate): Returns
type Reversible_Iterator'Class.
* a-coorma.adb, a-ciorma.adb, a-cborma.adb (Iterator):
Declare type as limited.
(First, Last): Return value depends on iterator's start node value.
(Next, Previous): Call corresponding Cursor-based operation.
(Iterate): Indicate whether complete or partial iteration

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181659 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Robert Dewar <dewar@adacore.com>
charlet [Wed, 23 Nov 2011 11:02:03 +0000 (11:02 +0000)]
2011-11-23  Robert Dewar  <dewar@adacore.com>

* errout.adb: Minor reformattin (Finalize): Take templates into
account for warning suppression.
* errout.ads (Set_Specific_Warning_Off): Add Used parameter.
* erroutc.adb: Minor reformatting (Finalize): Take generic
templates into account for warning suppress.
* erroutc.ads (Set_Specific_Warning_Off): Add Used parameter.
* sem_prag.adb: Minor reformatting (Analyze_Pragma,
case Warnings): Provide Used parameter in call to
Set_Specific_Warnings_Off (to deal with generic template case).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181658 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Pascal Obry <obry@adacore.com>
charlet [Wed, 23 Nov 2011 11:00:29 +0000 (11:00 +0000)]
2011-11-23  Pascal Obry  <obry@adacore.com>

* sem_prag.adb (Process_Convention): Better error message for
stdcall convention on dispatching calls.

2011-11-23  Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb, sem_ch13.adb: Minor reformatting.

2011-11-23  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Expand_Simple_Function_Return): Add missing
implicit type conversion when the returned object is allocated
in the secondary stack and the type of the returned object is
an interface. Done to force generation of displacement of the
"this" pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181657 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Pascal Obry <obry@adacore.com>
charlet [Wed, 23 Nov 2011 10:58:14 +0000 (10:58 +0000)]
2011-11-23  Pascal Obry  <obry@adacore.com>

* impunit.adb: Add g-exptty and g-tty units.

2011-11-23  Robert Dewar  <dewar@adacore.com>

* exp_imgv.adb: Minor code reorganization (use Make_Temporary).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181656 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 Robert Dewar <dewar@adacore.com>
charlet [Wed, 23 Nov 2011 10:54:21 +0000 (10:54 +0000)]
2011-11-23  Robert Dewar  <dewar@adacore.com>

* exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
reformatting.

2011-11-23  Yannick Moy  <moy@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
line of precondition/ postcondition/invariant.
2011-11-23  Pascal Obry  <obry@adacore.com>

* g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
terminals.c: New files.
Makefile.rtl: Add these new files.
* gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
* gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
* gcc-interface/Make-lang.in: Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181655 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm:
iains [Wed, 23 Nov 2011 09:46:59 +0000 (09:46 +0000)]
libitm:

* Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181654 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR c++/51145 - Alias template in elaborated-type-specifier accepted
dodji [Wed, 23 Nov 2011 08:23:59 +0000 (08:23 +0000)]
PR c++/51145 - Alias template in elaborated-type-specifier accepted

gcc/cp/

PR c++/51145
* decl.c (check_elaborated_type_specifier): Gracefully handle
error_mark_node.  Accept bound template template parameters.
Update diagnostics for alias template specializations.  Update
comment.
* parser.c (cp_parser_elaborated_type_specifier): Use
check_elaborated_type_specifier for simple-template-ids as well.

gcc/testsuite/

PR c++/51145
* g++.dg/cpp0x/alias-decl-14.C: New test.
* g++.dg/cpp0x/alias-decl-2.C: Adjust for tests that were wrongly
passing before.
* g++.dg/cpp0x/alias-decl-10.C: Likewise and adjust for diagnostic
change.
* g++.dg/ext/attrib27.C: Adjust for diagnostic change.
* g++.dg/lookup/struct1.C: Likewise.
* g++.dg/parse/elab1.C: Likewise.
* g++.dg/parse/elab2.C: Likewise.
* g++.dg/parse/int-as-enum1.C: Likewise.
* g++.dg/parse/typedef1.C: Likewise.
* g++.dg/parse/typedef3.C: Likewise.
* g++.dg/parse/typedef4.C: Likewise.
* g++.dg/parse/typedef5.C: Likewise.
* g++.dg/template/crash26.C: Likewise.
* g++.dg/template/nontype4.C: Likewise.
* g++.old-deja/g++.benjamin/typedef01.C: Likewise.
* g++.old-deja/g++.brendan/line1.C: Likewise.
* g++.old-deja/g++.other/elab1.C: Likewise.
* g++.old-deja/g++.other/syntax4.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181653 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Wed, 23 Nov 2011 00:17:50 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181648 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoia64: Update to atomic optabs
rth [Tue, 22 Nov 2011 23:13:48 +0000 (23:13 +0000)]
ia64: Update to atomic optabs

        * config/ia64/ia64.c (ia64_expand_atomic_op): Add model parameter.
        Generate the barrier required for the memory model.
        (rtx_needs_barrier): Handle UNSPEC_FETCHADD_REL, UNSPEC_CMPXCHG_REL.
        * config/ia64/ia64-protos.h: Update.
        * config/ia64/ia64.md (UNSPEC_FETCHADD_REL): New.
        (UNSPEC_CMPXCHG_REL): New.
        * config/ia64/sync.md (mem_thread_fence): New.
        (atomic_load<IMODE>, atomic_store<IMODE>): New.
        (atomic_compare_and_swap<IMODE>): New.
        (cmpxchg_acq_<I124MODE>, cmpxchg_acq_di): New.
        (atomic_exchange<IMODE>): New.
        (xchg_acq_<IMODE>): Rename from sync_lock_test_and_set<IMODE>.
        (atomic_<FETCHOP><IMODE>, atomic_nand<IMODE>): New.
        (atomic_fetch_<FETCHOP><IMODE>, atomic_fetch_nand<IMODE>): New.
        (atomic_<FETCHOP>_fetch<IMODE>, atomic_nand_fetch<IMODE>): New.
        (fetchadd_rel_<I48MODE>): New.
        (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): Remove.
        (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): Remove.
        (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): Remove.
        (sync_compare_and_swap<IMODE>): Remove.
        (sync_lock_release<IMODE>): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181643 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoia64: Use define_c_enum for unspec constants.
rth [Tue, 22 Nov 2011 22:55:58 +0000 (22:55 +0000)]
ia64: Use define_c_enum for unspec constants.

        * config/ia64/ia64.md: Use define_e_enum for UNSPEC_*
        and UNSPECV_* constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181642 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-22 Tom de Vries <tom@codesourcery.com>
vries [Tue, 22 Nov 2011 20:55:10 +0000 (20:55 +0000)]
2011-11-22  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/50764
* gcc.dg/pr50764.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181640 138bc75d-0d04-0410-961f-82ee72b054a4