Yufeng Zhang [Tue, 29 Nov 2011 15:27:33 +0000 (15:27 +0000)]
Use complex floating-point constant in CDBL.
2011-11-29 Yufeng Zhang <yufeng.zhang@arm.com>
Use complex floating-point constant in CDBL.
* gcc.dg/compat/compat-common.h (CDBL): Replace 1i with 1.0i.
From-SVN: r181804
Diego Novillo [Tue, 29 Nov 2011 14:16:16 +0000 (09:16 -0500)]
gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
* gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
Update field call_stmt_cannot_inline_p from call graph edge, if
needed.
* gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.
From-SVN: r181803
Sameera Deshpande [Tue, 29 Nov 2011 12:52:27 +0000 (18:22 +0530)]
arm.md (arm_movdi): Update NEG_POOL_RANGE.
* config/arm/arm.md (arm_movdi): Update NEG_POOL_RANGE.
(movdf_soft_insn): Likewise.
* config/arm/fpa.md (thumb2_movdf_fpa): Likewise.
* config/arm/neon.md (neon_mov<mode>): Likewise.
* config/arm/vfp.md (movdi_vfp): Likewise.
(movdi_vfp_cortexa8): Likewise.
(movdf_vfp): Likewise.
From-SVN: r181802
Tobias Burnus [Tue, 29 Nov 2011 09:57:40 +0000 (10:57 +0100)]
re PR fortran/51306 (MOVE_ALLOC: Make more middle end friendlier)
2011-11-29 Tobias Burnus <burnus@net-b.de>
PR fortran/51306
PR fortran/48700
* check.c (gfc_check_move_alloc): Make sure that from/to
are both polymorphic or neither.
* trans-intrinsic.c (conv_intrinsic_move_alloc): Cleanup,
generate inline code.
2011-11-29 Tobias Burnus <burnus@net-b.de>
PR fortran/51306
PR fortran/48700
* gfortran.dg/move_alloc_5.f90: Add dg-error.
* gfortran.dg/select_type_23.f03: Add dg-error.
* gfortran.dg/move_alloc_6.f90: New.
* gfortran.dg/move_alloc_7.f90: New.
From-SVN: r181801
Jakub Jelinek [Tue, 29 Nov 2011 08:48:41 +0000 (09:48 +0100)]
re PR middle-end/50074 (gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC)
PR middle-end/50074
* expr.c (expand_expr_addr_expr_1): Don't call force_operand for
EXPAND_SUM modifier.
From-SVN: r181800
François Dumont [Tue, 29 Nov 2011 07:45:58 +0000 (07:45 +0000)]
hashtable.h (_Hashtable<>::_M_rehash): Remove code useless now that the hashtable implementation put the hash code in...
2011-11-29 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code
useless now that the hashtable implementation put the hash code in
cache if the hash functor throws.
* testsuite/23_containers/unordered_set/erase/1.cc: Enhance test by
checking also distance between begin and end iterators to validate
underlying data model.
* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
* testsuire/23_containers/unordered_map/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multiset/erase/2.cc: New.
* testsuite/23_containers/unordered_multimap/erase/2.cc: New.
From-SVN: r181799
Ian Lance Taylor [Tue, 29 Nov 2011 07:03:49 +0000 (07:03 +0000)]
Implement predefined error interface.
From-SVN: r181798
Ira Rosen [Tue, 29 Nov 2011 07:00:53 +0000 (07:00 +0000)]
re PR tree-optimization/51301 (Compiler ICE in vect_is_simple_use_1)
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.
From-SVN: r181797
Richard Henderson [Tue, 29 Nov 2011 04:50:13 +0000 (20:50 -0800)]
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.
From-SVN: r181796
Richard Henderson [Tue, 29 Nov 2011 04:50:01 +0000 (20:50 -0800)]
rs6000.c (rs6000_expand_atomic_compare_and_swap): Get new pseudo for target after convert_modes.
* 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.
From-SVN: r181795
Richard Henderson [Tue, 29 Nov 2011 02:19:05 +0000 (18:19 -0800)]
* libgomp.h (enum memmodel): New.
From-SVN: r181794
GCC Administrator [Tue, 29 Nov 2011 00:19:06 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r181793
Uros Bizjak [Mon, 28 Nov 2011 22:05:46 +0000 (23:05 +0100)]
cdce3.C: Use dg-additional-options.
* g++.dg/cdce3.C: Use dg-additional-options.
From-SVN: r181789
Jakub Jelinek [Mon, 28 Nov 2011 21:04:45 +0000 (22:04 +0100)]
re PR debug/50317 (missing DW_OP_GNU_implicit_pointer)
PR debug/50317
* tree-ssa.c (execute_update_addresses_taken): Remove
var ={v} {CLOBBER} stmts instead of rewriting them into
var_N ={v} {CLOBBER}.
From-SVN: r181788
Jakub Jelinek [Mon, 28 Nov 2011 21:04:10 +0000 (22:04 +0100)]
re PR middle-end/50907 (EDGE_CROSSING incorrectly set across same section with -freorder-blocks-and-partition -fPIC -fprofile-use)
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.
From-SVN: r181787
Jakub Jelinek [Mon, 28 Nov 2011 21:03:11 +0000 (22:03 +0100)]
re PR tree-optimization/50078 (combine wrong code: volatile accesses optimized out)
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.
From-SVN: r181786
Jakub Jelinek [Mon, 28 Nov 2011 21:02:27 +0000 (22:02 +0100)]
re PR tree-optimization/50682 (ICE: SIGSEGV in main_block_label with -O2 -fnon-call-exceptions -ftracer)
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.
From-SVN: r181785
Andrew MacLeod [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.
From-SVN: r181784
Rainer Orth [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.
From-SVN: r181782
Tobias Burnus [Mon, 28 Nov 2011 14:47:39 +0000 (15:47 +0100)]
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.
From-SVN: r181779
Tobias Burnus [Mon, 28 Nov 2011 14:21:33 +0000 (15:21 +0100)]
re PR fortran/51308 (PARAMETER attribute conflicts with SAVE attribute)
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.
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r181778
Paolo Carlini [Mon, 28 Nov 2011 13:24:23 +0000 (13:24 +0000)]
re PR libstdc++/51288 ([C++0x] get_money implementation is missing the sentry object (does not skip leading whitespace))
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.
From-SVN: r181775
Georg-Johann Lay [Mon, 28 Nov 2011 09:58:37 +0000 (09:58 +0000)]
extend.texi (AVR Built-in Functions): Add documentation for __builtin_avr_map8 and __builtin_avr_map16.
* 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.
From-SVN: r181773
Ian Lance Taylor [Mon, 28 Nov 2011 05:45:49 +0000 (05:45 +0000)]
runtime: Multiplex goroutines onto OS threads.
From-SVN: r181772
Ian Lance Taylor [Mon, 28 Nov 2011 05:44:31 +0000 (05:44 +0000)]
generic-morestack.c (__splitstack_find): Check for NULL old stack value.
* 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.
From-SVN: r181771
GCC Administrator [Mon, 28 Nov 2011 00:19:24 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r181770
Aldy Hernandez [Sun, 27 Nov 2011 14:09:13 +0000 (14:09 +0000)]
trans-mem-2_0.c: Add dg-lto-do link.
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.
Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>
From-SVN: r181766
Iain Sandoe [Sun, 27 Nov 2011 13:57:01 +0000 (13:57 +0000)]
darwin-crt-tm.c: Correct comments, use correct licence.
libgcc:
* config/darwin-crt-tm.c: Correct comments, use correct licence.
From-SVN: r181765
Iain Sandoe [Sun, 27 Nov 2011 13:52:49 +0000 (13:52 +0000)]
darwin-crt-tm.c: Remove dummy _ITM_ functions.
libgcc:
* config/darwin-crt-tm.c: Remove dummy _ITM_ functions.
From-SVN: r181764
Richard Sandiford [Sun, 27 Nov 2011 10:18:25 +0000 (10:18 +0000)]
re PR target/51278 (gcc.target/mips/octeon-baddu-1.c fails on the trunk)
gcc/
PR target/51278
* config/mips/mips.c (mips_rtx_costs): Handle baddu.
From-SVN: r181763
Richard Sandiford [Sun, 27 Nov 2011 10:14:57 +0000 (10:14 +0000)]
mips.c (mips16_unextended_reference_p): Test for BLKmode.
gcc/
* config/mips/mips.c (mips16_unextended_reference_p): Test for BLKmode.
From-SVN: r181762
Richard Sandiford [Sun, 27 Nov 2011 10:09:32 +0000 (10:09 +0000)]
mips-protos.h (mips_emit_binary): Declare.
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.
From-SVN: r181761
Richard Sandiford [Sun, 27 Nov 2011 10:09:15 +0000 (10:09 +0000)]
hard-reg-set.h (target_hard_regs): Add x_accessible_reg_set and x_operand_reg_set.
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.
From-SVN: r181760
Gerald Pfeifer [Sun, 27 Nov 2011 05:50:12 +0000 (05:50 +0000)]
* config/pa/pa-linux.h (TARGET_GAS): Remove comment.
From-SVN: r181759
Gerald Pfeifer [Sun, 27 Nov 2011 02:42:21 +0000 (02:42 +0000)]
using.xml (Prerequisites): Refer to x86 instead of i386.
* doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
of i386.
From-SVN: r181758
Gerald Pfeifer [Sun, 27 Nov 2011 01:09:22 +0000 (01:09 +0000)]
run_doxygen (problematic): Change Linux reference to GNU/Linux.
* scripts/run_doxygen (problematic): Change Linux reference to
GNU/Linux.
From-SVN: r181757
Gerald Pfeifer [Sun, 27 Nov 2011 00:21:28 +0000 (00:21 +0000)]
abi.xml (Prerequisites): Refer to GNU/Linux.
* doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
Fix reference to GCC.
From-SVN: r181756
Richard Henderson [Sun, 27 Nov 2011 00:20:48 +0000 (16:20 -0800)]
arm: Install __sync libfuncs for Linux.
* config/arm/arm.c (arm_init_libfuncs): Call init_sync_libfuncs
for Linux.
From-SVN: r181755
GCC Administrator [Sun, 27 Nov 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181754
Richard Henderson [Sun, 27 Nov 2011 00:10:18 +0000 (16:10 -0800)]
Fix expand_atomic_fetch_op wrt unused_result.
* optabs.c (expand_atomic_fetch_op): Always return result.
From-SVN: r181750
Richard Henderson [Sun, 27 Nov 2011 00:06:16 +0000 (16:06 -0800)]
Fix init_sync_libfuncs_1 iteration.
* optabs.c (init_sync_libfuncs_1): Include max in iteration.
From-SVN: r181749
Richard Henderson [Sun, 27 Nov 2011 00:01:04 +0000 (16:01 -0800)]
omp-low: Assume anything aligned to BIGGEST_ALIGNMENT is aligned.
* omp-low.c (expand_omp_atomic): Assume anything aligned to
BIGGEST_ALIGNMENT is aligned.
From-SVN: r181748
Richard Henderson [Sat, 26 Nov 2011 23:59:56 +0000 (15:59 -0800)]
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.
From-SVN: r181747
Richard Henderson [Sat, 26 Nov 2011 23:57:37 +0000 (15:57 -0800)]
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.
From-SVN: r181746
Nathan Sidwell [Sat, 26 Nov 2011 21:44:24 +0000 (21:44 +0000)]
re PR gcov-profile/51297 (Many gcov tests FAIL on Tru64, Solaris 8 and 9)
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.
From-SVN: r181745
Richard Henderson [Sat, 26 Nov 2011 21:16:49 +0000 (13:16 -0800)]
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.
From-SVN: r181744
Jakub Jelinek [Sat, 26 Nov 2011 20:50:28 +0000 (21:50 +0100)]
re PR rtl-optimization/49912 (ICE from -freorder-blocks-and-partition : verify_flow_info failed)
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.
From-SVN: r181743
Uros Bizjak [Sat, 26 Nov 2011 15:48:39 +0000 (16:48 +0100)]
fast-math-vect-call-2.c: Require vect_double effective target.
* 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.
From-SVN: r181742
Uros Bizjak [Sat, 26 Nov 2011 15:35:33 +0000 (16:35 +0100)]
fast-math-vect-call-2.c: Require vect_double effective target.
* gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
effective target.
From-SVN: r181741
Jonathan Wakely [Sat, 26 Nov 2011 15:15:22 +0000 (15:15 +0000)]
re PR libstdc++/51296 (Several 30_threads tests FAIL on Tru64 UNIX)
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.
From-SVN: r181740
Uros Bizjak [Sat, 26 Nov 2011 10:55:09 +0000 (11:55 +0100)]
sync.md (movdi_via_fpu): Add %Z insn suffixes.
* config/i386/sync.md (movdi_via_fpu): Add %Z insn suffixes.
From-SVN: r181739
Joern Rennecke [Sat, 26 Nov 2011 09:21:47 +0000 (09:21 +0000)]
re PR middle-end/50074 (gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC)
PR middle-end/50074
* calls.c (mem_overlaps_already_clobbered_arg_p):
Return false if no outgoing arguments have been stored so far.
From-SVN: r181738
GCC Administrator [Sat, 26 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181735
Mikael Morin [Fri, 25 Nov 2011 20:24:10 +0000 (20:24 +0000)]
trans-array.c (set_loop_bounds): Remove dead conditions.
* trans-array.c (set_loop_bounds): Remove dead conditions.
From-SVN: r181731
Mikael Morin [Fri, 25 Nov 2011 20:18:21 +0000 (20:18 +0000)]
re PR fortran/51250 (Bug with SUM(,dim,mask))
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.
From-SVN: r181730
Uros Bizjak [Fri, 25 Nov 2011 19:30:58 +0000 (20:30 +0100)]
re PR testsuite/51258 (64-bit gcc.dg/atomic-compare-exchange-5.c link failure on 32-bit Solaris/x86)
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.
From-SVN: r181728
Uros Bizjak [Fri, 25 Nov 2011 17:41:44 +0000 (18:41 +0100)]
re PR testsuite/51258 (64-bit gcc.dg/atomic-compare-exchange-5.c link failure on 32-bit Solaris/x86)
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.
From-SVN: r181727
Tobias Burnus [Fri, 25 Nov 2011 16:26:47 +0000 (17:26 +0100)]
re PR fortran/50408 (ICE in transfer_expr)
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.
From-SVN: r181725
Tobias Burnus [Fri, 25 Nov 2011 15:18:06 +0000 (16:18 +0100)]
re PR fortran/51302 (ICE with VOLATILE loop variable)
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.
From-SVN: r181724
Sameera Deshpande [Fri, 25 Nov 2011 15:01:16 +0000 (20:31 +0530)]
Add myself in write-after-approval list
From-SVN: r181723
Georg-Johann Lay [Fri, 25 Nov 2011 15:00:39 +0000 (15:00 +0000)]
avr.c (print_operand): Support code = 'i' for CONST_INT.
* config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.
From-SVN: r181722
Andrew MacLeod [Fri, 25 Nov 2011 13:35:13 +0000 (13:35 +0000)]
re PR other/51011 (FAIL: gcc.dg/atomic-generic.c (test for excess errors))
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.
From-SVN: r181721
Georg-Johann Lay [Fri, 25 Nov 2011 10:46:10 +0000 (10:46 +0000)]
re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
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.
From-SVN: r181718
Kirill Yukhin [Fri, 25 Nov 2011 10:34:16 +0000 (10:34 +0000)]
Fix ChangeLog typo for last commit.
From-SVN: r181715
Enkovich Ilya [Fri, 25 Nov 2011 09:46:27 +0000 (09:46 +0000)]
re PR target/51287 (252.eon compfail with -march=atom)
PR target/51287
* i386.c (distance_non_agu_define): Fix insn attr check.
From-SVN: r181713
Andrew MacLeod [Fri, 25 Nov 2011 03:00:38 +0000 (03:00 +0000)]
re PR c/51256 (ICE with invalid parameter for __atomic builtin)
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.
From-SVN: r181709
Paolo Carlini [Fri, 25 Nov 2011 01:00:44 +0000 (01:00 +0000)]
re PR c++/51227 ([c++0x] ICE with invalid parameter in lambda expression)
/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.
From-SVN: r181707
GCC Administrator [Fri, 25 Nov 2011 00:18:59 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181706
Andrew MacLeod [Thu, 24 Nov 2011 23:14:31 +0000 (23:14 +0000)]
optab.c (maybe_emit_atomic_exchange): New.
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.
From-SVN: r181702
H.J. Lu [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.
From-SVN: r181701
Georg-Johann Lay [Thu, 24 Nov 2011 21:12:00 +0000 (21:12 +0000)]
avr.md (*rotlhi2.15): Set length to 4.
* config/avr/avr.md (*rotlhi2.15): Set length to 4.
From-SVN: r181700
Tobias Burnus [Thu, 24 Nov 2011 17:57:41 +0000 (18:57 +0100)]
re PR fortran/51218 (Potential optimization bug due to implicit_pure?)
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.
From-SVN: r181698
Rainer Orth [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.
From-SVN: r181697
Rainer Orth [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.
From-SVN: r181696
Jakub Jelinek [Thu, 24 Nov 2011 15:23:18 +0000 (16:23 +0100)]
re PR rtl-optimization/50290 (ICE: in distribute_notes, at combine.c:13282 with -O2 -fwhole-program -fno-tree-loop-optimize -fno-tree-vrp -funroll-loops)
PR rtl-optimization/50290
* gcc.dg/pr50290.c: New test.
From-SVN: r181694
Razya Ladelsky [Thu, 24 Nov 2011 14:07:36 +0000 (14:07 +0000)]
tree-data-ref.c (initialize_data_dependence_relation): Update
* 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.
From-SVN: r181691
Paolo Carlini [Thu, 24 Nov 2011 10:20:43 +0000 (10:20 +0000)]
re PR c++/51290 (Bogus warning: zero as null pointer constant with static_cast)
/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.
From-SVN: r181690
Jakub Jelinek [Thu, 24 Nov 2011 07:18:16 +0000 (08:18 +0100)]
re PR bootstrap/50888 (Bootstrap failure in libjava against latest git glibc)
PR bootstrap/50888
* prims.cc: Don't include ctype.h.
(c_isspace): Define.
(next_property_key, next_property_value): Use it instead
of isspace.
From-SVN: r181685
Alan Modra [Thu, 24 Nov 2011 02:45:21 +0000 (13:15 +1030)]
c-decl.c (warn_if_shadowing): Don't warn if shadowed identifier is from system header.
* c-decl.c (warn_if_shadowing): Don't warn if shadowed
identifier is from system header.
From-SVN: r181684
GCC Administrator [Thu, 24 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181683
François Dumont [Wed, 23 Nov 2011 20:30:18 +0000 (20:30 +0000)]
re PR libstdc++/41975 ([C++0x] [DR579] unordered_set::erase performs worse when nearly empty)
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.
From-SVN: r181677
Jakub Jelinek [Wed, 23 Nov 2011 20:29:08 +0000 (21:29 +0100)]
re PR target/51261 (-fcompare-debug with memset())
PR target/51261
* config/i386/i386.c (decide_alg): Initialize *dynamic_check
even if !optimize.
* gcc.dg/pr51261.c: New test.
From-SVN: r181676
Vladimir Makarov [Wed, 23 Nov 2011 18:51:17 +0000 (18:51 +0000)]
re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations)
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.
From-SVN: r181675
Jeffrey A 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.
* lang.c (java_init_options_struct): Disable optimizations
which assume a NULL pointer dereference will cause a fault.
From-SVN: r181674
Arnaud Charlet [Wed, 23 Nov 2011 14:05:26 +0000 (15:05 +0100)]
[multiple changes]
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.
From-SVN: r181670
Thomas Quinot [Wed, 23 Nov 2011 13:53:11 +0000 (14:53 +0100)]
mlib-tgt-specific-vxworks.adb: Minor reformatting.
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.
From-SVN: r181669
Arnaud Charlet [Wed, 23 Nov 2011 13:51:23 +0000 (14:51 +0100)]
[multiple changes]
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.
From-SVN: r181668
Matthew Heaney [Wed, 23 Nov 2011 13:36:40 +0000 (13:36 +0000)]
a-cdlili.adb, [...] (Iterator): Declared Iterator type as limited (First...
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.
From-SVN: r181667
Arnaud Charlet [Wed, 23 Nov 2011 13:32:44 +0000 (14:32 +0100)]
[multiple changes]
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.
From-SVN: r181666
Thomas Quinot [Wed, 23 Nov 2011 13:22:51 +0000 (13:22 +0000)]
g-htable.ads: Remove old comments.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* g-htable.ads: Remove old comments.
From-SVN: r181665
Chung-Lin Tang [Wed, 23 Nov 2011 13:22:30 +0000 (13:22 +0000)]
re PR rtl-optimization/50496 (ICE in redirect_jump, at jump.c:1497)
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.
From-SVN: r181664
Thomas Quinot [Wed, 23 Nov 2011 13:19:56 +0000 (13:19 +0000)]
exp_imgv.adb: Minor reformatting.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* exp_imgv.adb: Minor reformatting.
From-SVN: r181663
Arnaud Charlet [Wed, 23 Nov 2011 11:33:23 +0000 (12:33 +0100)]
Remove hard coded clock id.
From-SVN: r181662
Arnaud Charlet [Wed, 23 Nov 2011 11:25:39 +0000 (12:25 +0100)]
Update dependencies.
From-SVN: r181661
Arnaud Charlet [Wed, 23 Nov 2011 11:24:48 +0000 (12:24 +0100)]
[multiple changes]
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.
From-SVN: r181660
Arnaud Charlet [Wed, 23 Nov 2011 11:04:39 +0000 (12:04 +0100)]
[multiple changes]
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
From-SVN: r181659
Robert Dewar [Wed, 23 Nov 2011 11:02:03 +0000 (11:02 +0000)]
errout.adb: Minor reformattin (Finalize): Take templates into account for warning suppression.
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).
From-SVN: r181658
Arnaud Charlet [Wed, 23 Nov 2011 11:00:29 +0000 (12:00 +0100)]
[multiple changes]
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.
From-SVN: r181657
Arnaud Charlet [Wed, 23 Nov 2011 10:58:14 +0000 (11:58 +0100)]
[multiple changes]
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).
From-SVN: r181656
Arnaud Charlet [Wed, 23 Nov 2011 10:54:21 +0000 (11:54 +0100)]
[multiple changes]
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.
From-SVN: r181655