Paolo Carlini [Fri, 28 Jun 2013 16:01:08 +0000 (16:01 +0000)]
*: Move inside testsuite/21_strings/basic_string/operations/data/.
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/21_strings/basic_string/operations/*: Move inside
testsuite/21_strings/basic_string/operations/data/.
* testsuite/21_strings/basic_string/compare/*: Move inside
testsuite/21_strings/basic_string/operations/.
* testsuite/21_strings/basic_string/find/*: Likewise.
* testsuite/21_strings/basic_string/rfind/*: Likewise.
* testsuite/21_strings/basic_string/substr/*: Likewise.
From-SVN: r200537
Marcus Shawcroft [Fri, 28 Jun 2013 15:22:48 +0000 (15:22 +0000)]
[AArch64] Fix layout of aarch64_cannot_force_const_mem.
From-SVN: r200532
Marcus Shawcroft [Fri, 28 Jun 2013 15:17:19 +0000 (15:17 +0000)]
[AArch64] Update comment w.r.t SYMBOL_TINY_ABSOLUTE address model.
From-SVN: r200531
Marcus Shawcroft [Fri, 28 Jun 2013 12:45:57 +0000 (12:45 +0000)]
Disable strassen.f90 test for aarch64 tiny memory.
This test case is too large to fit into the aarch64 tiny memory model.
From-SVN: r200521
Marcus Shawcroft [Fri, 28 Jun 2013 12:26:20 +0000 (12:26 +0000)]
[AArch64] Remove aarch64_symbolic_constant_p.
From-SVN: r200519
Kyrylo Tkachov [Fri, 28 Jun 2013 11:16:03 +0000 (11:16 +0000)]
constraints.md (Ts): New constraint.
2013-06-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/constraints.md (Ts): New constraint.
* config/arm/arm.md (arm_movqi_insn): Add alternatives for
16-bit encodings.
(compare_scc): Use "Ts" constraint for operand 0.
(ior_scc_scc): Likewise.
(and_scc_scc): Likewise.
(and_scc_scc_nodom): Likewise.
(ior_scc_scc_cmp): Likewise for operand 7.
(and_scc_scc_cmp): Likewise.
* config/arm/thumb2.md (thumb2_movsi_insn):
Add alternatives for 16-bit encodings.
(thumb2_movhi_insn): Likewise.
(thumb2_movsicc_insn): Likewise.
(thumb2_and_scc): Take 'and' outside cond_exec. Use "Ts" constraint.
(thumb2_negscc): Use "Ts" constraint.
Move mvn instruction outside cond_exec block.
* config/arm/vfp.md (thumb2_movsi_vfp): Add alternatives
for 16-bit encodings.
From-SVN: r200515
Kyrylo Tkachov [Fri, 28 Jun 2013 10:56:27 +0000 (10:56 +0000)]
arm.md (arm_mulsi3_v6): Add alternative for 16-bit encoding.
2013-06-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (arm_mulsi3_v6): Add alternative for 16-bit
encoding.
(mulsi3addsi_v6): Disable predicable variant for arm_restrict_it.
(mulsi3subsi): Likewise.
(mulsidi3adddi): Likewise.
(mulsidi3_v6): Likewise.
(umulsidi3_v6): Likewise.
(umulsidi3adddi_v6): Likewise.
(smulsi3_highpart_v6): Likewise.
(umulsi3_highpart_v6): Likewise.
(mulhisi3tb): Likewise.
(mulhisi3bt): Likewise.
(mulhisi3tt): Likewise.
(maddhisi4): Likewise.
(maddhisi4tb): Likewise.
(maddhisi4tt): Likewise.
(maddhidi4): Likewise.
(maddhidi4tb): Likewise.
(maddhidi4tt): Likewise.
(zeroextractsi_compare0_scratch): Likewise.
(insv_zero): Likewise.
(insv_t2): Likewise.
(anddi_notzesidi_di): Likewise.
(anddi_notsesidi_di): Likewise.
(andsi_notsi_si): Likewise.
(iordi_zesidi_di): Likewise.
(xordi_zesidi_di): Likewise.
(andsi_iorsi3_notsi): Likewise.
(smax_0): Likewise.
(smax_m1): Likewise.
(smin_0): Likewise.
(not_shiftsi): Likewise.
(unaligned_loadsi): Likewise.
(unaligned_loadhis): Likewise.
(unaligned_loadhiu): Likewise.
(unaligned_storesi): Likewise.
(unaligned_storehi): Likewise.
(extv_reg): Likewise.
(extzv_t2): Likewise.
(divsi3): Likewise.
(udivsi3): Likewise.
(arm_zero_extendhisi2addsi): Likewise.
(arm_zero_extendqisi2addsi): Likewise.
(compareqi_eq0): Likewise.
(arm_extendhisi2_v6): Likewise.
(arm_extendqisi2addsi): Likewise.
(arm_movt): Likewise.
(thumb2_ldrd): Likewise.
(thumb2_ldrd_base): Likewise.
(thumb2_ldrd_base_neg): Likewise.
(thumb2_strd): Likewise.
(thumb2_strd_base): Likewise.
(thumb2_strd_base_neg): Likewise.
(arm_negsi2): Add alternative for 16-bit encoding.
(arm_one_cmplsi2): Likewise.
From-SVN: r200513
Marc Glisse [Fri, 28 Jun 2013 10:31:39 +0000 (12:31 +0200)]
re PR c++/57509 (Segmentation fault when using __builtin_shuffle in templated class.)
2013-06-28 Marc Glisse <marc.glisse@inria.fr>
PR c++/57509
* g++.dg/ext/pr57509.C: Pass vectors by reference to avoid warnings.
From-SVN: r200511
Kyrylo Tkachov [Fri, 28 Jun 2013 10:05:27 +0000 (10:05 +0000)]
predicates.md (arm_cond_move_operator): New predicate.
2013-06-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/predicates.md (arm_cond_move_operator): New predicate.
* config/arm/arm.md (movsfcc): Use arm_cond_move_operator predicate.
(movdfcc): Likewise.
* config/arm/vfp.md (*thumb2_movsf_vfp):
Disable predication for arm_restrict_it.
(*thumb2_movsfcc_vfp): Disable for arm_restrict_it.
(*thumb2_movdfcc_vfp): Likewise.
(*abssf2_vfp, *absdf2_vfp, *negsf2_vfp, *negdf2_vfp,*addsf3_vfp,
*adddf3_vfp, *subsf3_vfp, *subdf3_vfpc, *divsf3_vfp,*divdf3_vfp,
*mulsf3_vfp, *muldf3_vfp, *mulsf3negsf_vfp, *muldf3negdf_vfp,
*mulsf3addsf_vfp, *muldf3adddf_vfp, *mulsf3subsf_vfp,
*muldf3subdf_vfp, *mulsf3negsfaddsf_vfp, *fmuldf3negdfadddf_vfp,
*mulsf3negsfsubsf_vfp, *muldf3negdfsubdf_vfp, *fma<SDF:mode>4,
*fmsub<SDF:mode>4, *fnmsub<SDF:mode>4, *fnmadd<SDF:mode>4,
*extendsfdf2_vfp, *truncdfsf2_vfp, *extendhfsf2, *truncsfhf2,
*truncsisf2_vfp, *truncsidf2_vfp, fixuns_truncsfsi2, fixuns_truncdfsi2,
*floatsisf2_vfp, *floatsidf2_vfp, floatunssisf2, floatunssidf2,
*sqrtsf2_vfp, *sqrtdf2_vfp, *cmpsf_vfp, *cmpsf_trap_vfp, *cmpdf_vfp,
*cmpdf_trap_vfp, <vrint_pattern><SDF:mode>2):
Disable predication for arm_restrict_it.
From-SVN: r200510
Jakub Jelinek [Fri, 28 Jun 2013 09:28:40 +0000 (11:28 +0200)]
re PR middle-end/36041 (Speed up builtin_popcountll)
PR middle-end/36041
* libgcc2.c (POPCOUNTCST2, POPCOUNTCST4, POPCOUNTCST8, POPCOUNTCST):
Define.
(__popcountSI2): For __SIZEOF_INT__ > 2 targets use arithmetics
instead of table lookups.
(__popcountDI2): Likewise.
From-SVN: r200506
Kirill Yukhin [Fri, 28 Jun 2013 09:02:46 +0000 (09:02 +0000)]
bmiintrin.h (_bextr_u32): New.
ChangeLog:
* config/i386/bmiintrin.h (_bextr_u32): New.
(_bextr_u64): Ditto.
testsuite/ChangeLog:
* gcc.target/i386/bmi-1.c: Extend with new instrinsic.
Fix scan patterns.
* gcc.target/i386/bmi-1.c: Ditto.
* gcc.target/i386/bmi-bextr-4.c: New.
* gcc.target/i386/bmi-bextr-5.c: Ditto.
From-SVN: r200505
Paolo Carlini [Fri, 28 Jun 2013 08:53:03 +0000 (08:53 +0000)]
re PR c++/57682 (Uniform initialization syntax rejected in function-try-block)
/cp
2013-06-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57682
* parser.c (cp_parser_save_member_function_body): Handle correctly
curly braces in function-try-block mem-initializers.
/testsuite
2013-06-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57682
* g++.dg/cpp0x/initlist73.C: New.
From-SVN: r200504
Meador Inge [Fri, 28 Jun 2013 00:55:13 +0000 (00:55 +0000)]
atomic-flag.c: Add dg-require-effective-target sync_*.
gcc/testsuite/
2013-06-27 Meador Inge <meadori@codesourcery.com>
* gcc.dg/atomic-flag.c: Add dg-require-effective-target sync_*.
* g++.dg/simulate-thread/atomics-2.C: Likewise.
* g++.dg/simulate-thread/atomics-1.C: Likewise.
From-SVN: r200501
GCC Administrator [Fri, 28 Jun 2013 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r200500
Richard Sandiford [Thu, 27 Jun 2013 21:31:05 +0000 (21:31 +0000)]
gcc/
* config.gcc (mips*-mti-elf*, mips*-sde-elf*, mips64r5900-*-elf*)
(mips64r5900el-*-elf*): Include mips/n32-elf.h.
* config/mips/sde.h (LOCAL_LABEL_PREFIX, NO_DOLLAR_IN_LABEL)
(LONG_DOUBLE_TYPE_SIZE, LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move to...
* config/mips/n32-elf.h: ...this new file.
From-SVN: r200496
Marc Glisse [Thu, 27 Jun 2013 21:29:22 +0000 (23:29 +0200)]
re PR c++/57509 (Segmentation fault when using __builtin_shuffle in templated class.)
2013-06-27 Marc Glisse <marc.glisse@inria.fr>
PR c++/57509
gcc/c-family/
* c-common.h (c_build_vec_perm_expr): New complain argument.
* c-common.c (c_build_vec_perm_expr): Likewise.
Use save_expr also in C++.
gcc/cp/
* typeck.c (cp_build_vec_perm_expr): New function.
* cp-tree.h: Declare it.
* parser.c (cp_parser_postfix_expression): Call it.
* pt.c (tsubst_copy): Handle VEC_PERM_EXPR.
(tsubst_copy_and_build): Likewise.
gcc/testsuite/
* g++.dg/ext/pr57509.C: New file.
From-SVN: r200495
Ian Lance Taylor [Thu, 27 Jun 2013 20:51:55 +0000 (20:51 +0000)]
compiler: structs inherit all methods from embedded pointer fields.
Previously if a struct S contained an embedded field *T,
a method with receiver *T would not be promoted to a method
with value receiver S.
From-SVN: r200493
Marc Glisse [Thu, 27 Jun 2013 20:07:32 +0000 (22:07 +0200)]
re PR target/57224 (Remove __builtin_ia32_cmpngtss and __builtin_ia32_cmpngess)
2013-06-27 Marc Glisse <marc.glisse@inria.fr>
PR target/57224
* config/i386/i386.c (enum ix86_builtins, bdesc_args): Remove
IX86_BUILTIN_CMPNGTSS and IX86_BUILTIN_CMPNGESS.
From-SVN: r200492
Ian Lance Taylor [Thu, 27 Jun 2013 19:20:08 +0000 (19:20 +0000)]
compiler: more consistent error message for [...]T(x)
The message should be similar to the one for "var x [...]T",
not to the message for []T(x...).
From-SVN: r200490
Catherine Moore [Thu, 27 Jun 2013 18:56:00 +0000 (14:56 -0400)]
mips-tables.opt: Regenerate.
2013-06-27 Catherine Moore <clm@codesourcery.com>
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips-cpus.def: Add m14ke and m14kec.
* config/mips/mips.h (BASE_DRIVER_SELF_SPECS): m14ke* implies
-mdspr2.
* doc/invoke.texi: Add -m14kc.
From-SVN: r200487
Jakub Jelinek [Thu, 27 Jun 2013 16:48:05 +0000 (18:48 +0200)]
re PR target/57623 (BEXTR intrinsic has memory operands switched around (fails to compile code))
PR target/57623
* config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
constraints of operand 1 and 2.
* gcc.target/i386/bmi-bextr-3.c: New test.
From-SVN: r200479
Jakub Jelinek [Thu, 27 Jun 2013 16:44:17 +0000 (18:44 +0200)]
re PR target/57623 (BEXTR intrinsic has memory operands switched around (fails to compile code))
PR target/57623
* config/i386/i386.md (bmi2_bzhi_<mode>3): Swap AND arguments
to match RTL canonicalization. Swap predicates and
constraints of operand 1 and 2.
* gcc.target/i386/bmi2-bzhi-1.c: New test.
From-SVN: r200477
Vladimir Makarov [Thu, 27 Jun 2013 16:20:38 +0000 (16:20 +0000)]
lra-constraints.c (inherit_in_ebb): Process static hard regs too.
2013-06-27 Vladimir Makarov <vmakarov@redhat.com>
* lra-constraints.c (inherit_in_ebb): Process static hard regs
too. Process OP_INOUT regs for splitting too.
From-SVN: r200475
Jakub Jelinek [Thu, 27 Jun 2013 15:35:57 +0000 (17:35 +0200)]
tree-vect-stmts.c (vectorizable_store): Move ptr_incr var decl before the loop, initialize to NULL.
* tree-vect-stmts.c (vectorizable_store): Move ptr_incr var
decl before the loop, initialize to NULL.
(vectorizable_load): Initialize ptr_incr to NULL.
From-SVN: r200471
Roland Lutz [Thu, 27 Jun 2013 13:58:20 +0000 (13:58 +0000)]
aot-compile.in: Fix typo in option list.
2013-06-20 Roland Lutz <rlutz@hedmen.org>
* contrib/aot-compile.in: Fix typo in option list.
From-SVN: r200469
Martin Jambor [Thu, 27 Jun 2013 13:49:28 +0000 (15:49 +0200)]
re PR c++/57208 (Latest chromium compilation fails with enabled LTO)
2013-06-27 Martin Jambor <mjambor@suse.cz>
PR lto/57208
* ipa-ref.h (ipa_maybe_record_reference): Declare.
* ipa-ref.c (ipa_maybe_record_reference): New function.
* cgraphclones.c (cgraph_create_virtual_clone): Use it.
* ipa-cp.c (create_specialized_node): Record potential references from
aggvals.
* Makefile.in (ipa-ref.o): Add IPA_REF_H to dependencies.
From-SVN: r200468
Yufeng Zhang [Thu, 27 Jun 2013 12:32:07 +0000 (12:32 +0000)]
aarch64.c (aarch64_force_temporary): Add an extra parameter 'mode' of type 'enum machine_mode mode'...
gcc/
* config/aarch64/aarch64.c (aarch64_force_temporary): Add an extra
parameter 'mode' of type 'enum machine_mode mode'; change to pass
'mode' to force_reg.
(aarch64_add_offset): Update calls to aarch64_force_temporary.
(aarch64_expand_mov_immediate): Likewise.
From-SVN: r200467
Yufeng Zhang [Thu, 27 Jun 2013 12:30:11 +0000 (12:30 +0000)]
aarch64.c (aarch64_add_offset): Change to pass 'mode' to aarch64_plus_immediate and gen_rtx_PLUS.
gcc/
* config/aarch64/aarch64.c (aarch64_add_offset): Change to pass
'mode' to aarch64_plus_immediate and gen_rtx_PLUS.
From-SVN: r200466
Paolo Carlini [Thu, 27 Jun 2013 12:15:34 +0000 (12:15 +0000)]
*: Move inside testsuite/21_strings/basic_string/modifiers/.
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/21_strings/basic_string/append/*: Move inside
testsuite/21_strings/basic_string/modifiers/.
* testsuite/21_strings/basic_string/assign/*: Likewise.
* testsuite/21_strings/basic_string/insert/*: Likewise.
* testsuite/21_strings/basic_string/replace/*: Likewise.
* testsuite/21_strings/basic_string/modifiers/pop_back/char/
pop_back.cc: Rename to 1.cc.
* testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
pop_back.cc: Likewise.
* testsuite/ext/vstring/assign/*: Move inside
testsuite/ext/vstring/modifiers/.
From-SVN: r200465
Marc Glisse [Thu, 27 Jun 2013 11:34:48 +0000 (13:34 +0200)]
re PR c++/57172 ([C++11][DR 1164] Template overload resolution ambiguous for T&& versus T&)
2013-06-27 Marc Glisse <marc.glisse@inria.fr>
PR c++/57172
gcc/cp/
* pt.c (more_specialized_fn): If both arguments are references,
give priority to an lvalue.
gcc/testsuite/
* g++.dg/cpp0x/pr57172.C: New testcase.
From-SVN: r200463
Paolo Carlini [Thu, 27 Jun 2013 09:51:21 +0000 (09:51 +0000)]
stl_deque.h (deque<>::insert(iterator, const value_type&), [...]): Adjust C++11 signatures to take a const_iterator.
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_deque.h (deque<>::insert(iterator,
const value_type&), deque<>::insert(iterator, value_type&&),
deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
take a const_iterator.
(deque<>::erase): Simplify.
* include/bits/stl_list.h: Likewise.
(_List_iterator<>::_M_const_cast): Add.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
(_Bit_iterator::_M_const_cast): Add.
* include/bits/deque.tcc: Adjust definitions.
* include/bits/list.tcc: Likewise.
* include/bits/vector.tcc: Likewise.
* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
Define trivial version in C++98 mode.
* include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
__versa_string<>::replace(iterator, iterator, const __versa_string&),
__versa_string<>::replace(iterator, iterator, const _CharT*,
size_type), __versa_string<>::replace(iterator, iterator,
const _CharT*), __versa_string<>::replace(iterator, iterator,
size_type, _CharT)): Adjust C++11 signatures to take a pair of
const_iterators.
* include/debug/deque: Adjust.
* include/debug/list: Likewise.
* include/debug/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/profile/vector: Likewise.
(vector<>::emplace): Add.
* testsuite/util/exception/safety.h: Update.
* testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
New.
* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
Likewise.
* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/bool/modifiers/insert/
const_iterator.cc: Likewise.
* testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
ext/vstring/modifiers/erase/char/.
* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
ext/vstring/modifiers/wchar_t/.
* testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
ext/vstring/modifiers/pop_back/char/.
* testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r200458
Andreas Krebbel [Thu, 27 Jun 2013 07:44:11 +0000 (07:44 +0000)]
s390.c: Rename UNSPEC_CCU_TO_INT to UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to...
2013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c: Rename UNSPEC_CCU_TO_INT to
UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
(struct machine_function): Add tbegin_p.
(s390_canonicalize_comparison): Fold CC mode compares to
conditional jump if possible.
(s390_emit_jump): Return the emitted jump.
(s390_branch_condition_mask, s390_branch_condition_mnemonic):
Handle CCRAWmode compares.
(s390_option_override): Default to -mhtm if available.
(s390_reg_clobbered_rtx): Handle floating point regs as well.
(s390_regs_ever_clobbered): Use s390_regs_ever_clobbered also for
FPRs instead of df_regs_ever_live_p.
(s390_optimize_nonescaping_tx): New function.
(s390_init_frame_layout): Extend clobbered_regs array to cover
FPRs as well.
(s390_emit_prologue): Call s390_optimize_nonescaping_tx.
(s390_expand_tbegin): New function.
(enum s390_builtin): New enum definition.
(code_for_builtin): New array definition.
(s390_init_builtins): New function.
(s390_expand_builtin): New function.
(TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
* common/config/s390/s390-common.c (processor_flags_table): Add
PF_TX.
* config/s390/predicates.md (s390_comparison): Handle CCRAWmode.
(s390_alc_comparison): Likewise.
* config/s390/s390-modes.def: Add CCRAWmode.
* config/s390/s390.h (processor_flags): Add PF_TX.
(TARGET_CPU_HTM): Define macro.
(TARGET_HTM): Define macro.
(TARGET_CPU_CPP_BUILTINS): Define __HTM__ for htm.
* config/s390/s390.md: Rename UNSPEC_CCU_TO_INT to
UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
(UNSPECV_TBEGIN, UNSPECV_TBEGINC, UNSPECV_TEND, UNSPECV_TABORT)
(UNSPECV_ETND, UNSPECV_NTSTG, UNSPECV_PPA): New unspecv enum
values.
(TBEGIN_MASK, TBEGINC_MASK): New constants.
("*cc_to_int"): Move up.
("*mov<mode>cc", "*cjump_64", "*cjump_31"): Accept integer
constants other than 0.
("*ccraw_to_int"): New insn and splitter definition.
("tbegin", "tbegin_nofloat", "tbegin_retry")
("tbegin_retry_nofloat", "tbeginc", "tend", "tabort")
("tx_assist"): New expander.
("tbegin_1", "tbegin_nofloat_1", "*tbeginc_1", "*tend_1")
("*tabort_1", "etnd", "ntstg", "*ppa"): New insn definition.
* config/s390/s390.opt: Add -mhtm option.
* config/s390/s390-protos.h (s390_emit_jump): Add return type.
* config/s390/htmxlintrin.h: New file.
* config/s390/htmintrin.h: New file.
* config/s390/s390intrin.h: New file.
* doc/extend.texi: Document htm builtins.
* config.gcc: Add the new header files to extra_headers.
2013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/htm-1.c: New file.
* gcc.target/s390/htm-nofloat-1.c: New file.
* gcc.target/s390/htm-xl-intrin-1.c: New file.
2013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/target.h: Include htmintrin.h.
(_HTM_ITM_RETRIES): New macro definition.
(htm_available, htm_init, htm_begin, htm_begin_success)
(htm_commit, htm_abort, htm_abort_should_retry): New functions.
From-SVN: r200454
Jason Merrill [Thu, 27 Jun 2013 02:35:52 +0000 (22:35 -0400)]
DR 1589
DR 1589
* g++.dg/cpp0x/initlist72.C: New.
From-SVN: r200451
Jason Merrill [Thu, 27 Jun 2013 02:35:46 +0000 (22:35 -0400)]
typeck2.c (store_init_value): Diagnose a non-constant initializer for in-class static.
* typeck2.c (store_init_value): Diagnose a non-constant
initializer for in-class static.
From-SVN: r200450
Jason Merrill [Thu, 27 Jun 2013 02:35:39 +0000 (22:35 -0400)]
re PR c++/57408 (lambda, Variable length arrays, thread, internal compiler error: in expand_expr_real_1, at expr.c:9327)
PR c++/57408
* semantics.c (add_capture): Set type to error_mark_node after
error.
From-SVN: r200449
GCC Administrator [Thu, 27 Jun 2013 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r200447
Michael Eager [Thu, 27 Jun 2013 00:02:40 +0000 (00:02 +0000)]
Revert 200443.
From-SVN: r200444
David Holsgrove [Wed, 26 Jun 2013 23:55:52 +0000 (23:55 +0000)]
Add sync_compare_and_swapsi and sync_test_and_setsi.
2013-06-16 David Holsgrove <david.holsgrove@xilinx.com>
Add sync_compare_and_swapsi and sync_test_and_setsi.
* gcc/config/microblaze/sync.md: New file.
* gcc/config/microblaze/microblaze.md: Add UNSPEC_SYNC_CAS,
UNSPEC_SYNC_XCHG and include sync.md.
* gcc/config/microblaze/microblaze.c: Add print_operand 'y'.
* gcc/config/microblaze/constraints.md: Add memory_contraint
'Q' which is a single register.
From-SVN: r200443
Ian Lance Taylor [Wed, 26 Jun 2013 22:58:03 +0000 (22:58 +0000)]
compiler: disallow fallthrough in last case of switch.
In spec: A "fallthrough" statement may appear as the last
statement of all but the last clause of an expression switch.
From-SVN: r200440
Paolo Carlini [Wed, 26 Jun 2013 22:48:06 +0000 (22:48 +0000)]
abi_tag.cc: Avoid spurious fails with check-debug.
2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
spurious fails with check-debug.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
Likewise.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
Likewise.
From-SVN: r200438
Ian Lance Taylor [Wed, 26 Jun 2013 22:42:35 +0000 (22:42 +0000)]
compiler: reject integer division by zero constant.
From-SVN: r200436
Thomas Schwinge [Wed, 26 Jun 2013 21:23:43 +0000 (23:23 +0200)]
gcc/
* config/i386/gnu.h [TARGET_LIBC_PROVIDES_SSP]
(TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET):
Undefine.
From-SVN: r200434
Ian Lance Taylor [Wed, 26 Jun 2013 15:47:53 +0000 (15:47 +0000)]
compiler: forbid identifiers named "init" in package scope.
From-SVN: r200426
Tobias Burnus [Wed, 26 Jun 2013 15:39:25 +0000 (17:39 +0200)]
re PR fortran/29800 (-fbounds-check: For derived types, write not also compound name)
2013-06-26 Tobias Burnus <burnus@net-b.de>
PR fortran/29800
* trans-array.c (gfc_conv_array_ref): Improve out-of-bounds
diagnostic message.
* trans-array.c (gfc_conv_array_ref): Update prototype.
* trans-expr.c (gfc_conv_variable): Update call.
2013-06-26 Tobias Burnus <burnus@net-b.de>
PR fortran/29800
* gfortran.dg/bounds_check_17.f90: New.
From-SVN: r200425
Michael Meissner [Wed, 26 Jun 2013 14:46:44 +0000 (14:46 +0000)]
power8.md: New.
* config/rs6000/power8.md: New.
* config/rs6000/rs6000-cpus.def (RS6000_CPU table): Adjust processor
setting for power8 entry.
* config/rs6000/t-rs6000 (MD_INCLUDES): Add power8.md.
* config/rs6000/rs6000.c (is_microcoded_insn, is_cracked_insn): Adjust
test for Power4/Power5 only.
(insn_must_be_first_in_group, insn_must_be_last_in_group): Add Power8
support.
(force_new_group): Adjust comment.
* config/rs6000/rs6000.md: Include power8.md.
Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
From-SVN: r200423
Greta Yorsh [Wed, 26 Jun 2013 09:40:40 +0000 (10:40 +0100)]
arm.h (MAX_CONDITIONAL_EXECUTE): Define macro.
2013-06-26 Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Define macro.
* config/arm/arm-protos.h (arm_max_conditional_execute): New
declaration.
(tune_params): Update comment.
* config/arm/arm.c (arm_cortex_a15_tune): Set max_cond_insns to 2.
(arm_max_conditional_execute): New function.
(thumb2_final_prescan_insn): Use max_insn_skipped and
MAX_INSN_PER_IT_BLOCK to compute maximum instructions in a block.
From-SVN: r200419
Ed Smith-Rowland [Wed, 26 Jun 2013 03:35:54 +0000 (03:35 +0000)]
re PR c++/57640 (Explicit call of system literal operator complains about leading underscore.)
gcc/cp:
2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
PR c++/57640
* parser.c (cp_parser_unqualified_id): Add declarator_p to checks
to trigger warning, (cp_literal_operator_id): Remove bogus TODO comment.
gcc/testsuite:
2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
PR c++/57640
* g++.dg/cpp1y/pr57640.C: New.
From-SVN: r200415
Balaji V. Iyer [Wed, 26 Jun 2013 02:31:27 +0000 (02:31 +0000)]
+2013-06-25 Balaji V.
+2013-06-25 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ * c-c++-common/cilk-plus/AN/gather_scatter.c: Fixed a bug of stack
+ overflow due to size of arrays.
+
From-SVN: r200414
Ed Smith-Rowland [Wed, 26 Jun 2013 01:24:25 +0000 (01:24 +0000)]
Status page for C++2014 library features
2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
Status page for C++2014 library features
* doc/xml/faq.xml: Add link to new C++14 status page.
* doc/xml/manual/intro.xml: Ditto.
* doc/xml/manual/status_cxx2014.xml: New.
From-SVN: r200413
Paolo Carlini [Wed, 26 Jun 2013 00:29:40 +0000 (00:29 +0000)]
abi_tag.cc: Avoid spurious fails with check-debug.
2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
spurious fails with check-debug.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
Likewise.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
Likewise.
From-SVN: r200411
GCC Administrator [Wed, 26 Jun 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r200410
Balaji V. Iyer [Tue, 25 Jun 2013 20:41:21 +0000 (20:41 +0000)]
Replaced Dynamic arrays with vec trees in Array Notation for C.
gcc/c-family/ChangeLog
2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
* array-notation-common.c (length_mismatch_in_expr): Changed the
parameter type's from a dynamic array to a vec_tree. Also removed
the size parameters.
* c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
the change above.
gcc/cp/ChangeLog
2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
* cp-array-notation.c (cp_length_mismatch_in_expr_p): Remove.
(expand_an_in_modify_expr): Changed a function call from the above
removed function to length_mismatch_in_expr_p.
gcc/c/ChangeLog
2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
* c-array-notation.c (make_triplet_val_inv): New function.
(create_cmp_incr): Likewise.
(create_array_refs): Likewise.
(fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
Also modularized common parts between functions and called the function.
(build_array_notation_expr): Likewise.
(fix_conditional_array_notations_1): Likewise.
(fix_array_notation_expr): Likewise.
(fix_array_notation_call_expr): Likewise.
From-SVN: r200405
Ian Lance Taylor [Tue, 25 Jun 2013 16:51:46 +0000 (16:51 +0000)]
Update shift1.go test for recent changes.
From-SVN: r200400
Ian Lance Taylor [Tue, 25 Jun 2013 16:34:28 +0000 (16:34 +0000)]
compiler: Fix type determination issues.
From-SVN: r200398
Joseph Myers [Tue, 25 Jun 2013 16:30:13 +0000 (17:30 +0100)]
* zh_TW.po: Update.
From-SVN: r200396
Jakub Jelinek [Tue, 25 Jun 2013 12:35:21 +0000 (14:35 +0200)]
re PR tree-optimization/57705 (Non-constant step induction vars not vectorized)
PR tree-optimization/57705
* tree-vect-loop.c (vect_is_simple_iv_evolution): Allow
SSA_NAME step, provided that it is not defined inside the loop.
(vect_analyze_scalar_cycles_1): Disallow SSA_NAME step in nested
loop.
(get_initial_def_for_induction): Handle SSA_NAME IV step.
* gcc.dg/vect/pr57705.c: New test.
* gcc.dg/vect/vect-iv-7.c: Add noclone attribute, remove xfail.
From-SVN: r200394
Martin Jambor [Tue, 25 Jun 2013 11:09:21 +0000 (13:09 +0200)]
re PR middle-end/57670 (Member-pointer calls should not be redirected to builtin_unreachable)
2013-06-25 Martin Jambor <mjambor@suse.cz>
PR middle-end/57670
* cgraph.h (cgraph_indirect_call_info): New flag member_ptr.
* ipa-prop.c (ipa_print_node_jump_functions): Mark member pointer
calls in the dump.
(ipa_note_param_call): Initialize member_ptr flag.
(ipa_analyze_indirect_call_uses): Set member_ptr flag.
(ipa_make_edge_direct_to_target): Bail out if member_ptr is set.
(ipa_write_indirect_edge_info): Stream member_ptr flag.
(ipa_read_indirect_edge_info): Likewise.
testsuite/
* g++.dg/ipa/pr57670.C (H): New test.
From-SVN: r200393
Paolo Carlini [Tue, 25 Jun 2013 08:39:31 +0000 (08:39 +0000)]
re PR libstdc++/57704 (std::char_traits<char>::lt is not standards-compliant)
2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57704
* include/bits/char_traits.h (char_traits<char>::lt): Implement
LWG 467.
* testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
From-SVN: r200392
Richard Biener [Tue, 25 Jun 2013 08:21:31 +0000 (08:21 +0000)]
re PR middle-end/56977 (gcc -Og incorrectly warns about 'constant zero length parameter')
2013-06-25 Richard Biener <rguenther@suse.de>
PR middle-end/56977
* passes.c (init_optimization_passes): Move pass_fold_builtins
and pass_dce earlier with -Og.
* gcc.dg/pr56977.c: New testcase.
From-SVN: r200391
Chung-Ju Wu [Tue, 25 Jun 2013 08:02:11 +0000 (08:02 +0000)]
Makefile.in (clean, distclean): Remove auto-target.h and stamp-h correctly.
libgcc/
2013-06-25 Chung-Ju Wu <jasonwucj@gmail.com>
* Makefile.in (clean, distclean): Remove auto-target.h and stamp-h
correctly.
From-SVN: r200390
Eric Botcazou [Tue, 25 Jun 2013 07:23:19 +0000 (07:23 +0000)]
expr.c (expand_expr_real_1): Fix formatting glitches.
* expr.c (expand_expr_real_1) <ARRAY_REF>: Fix formatting glitches.
<BIT_FIELD_REF>: Remove trailing TAB.
* varasm.c (output_constructor_bitfield): Fix formatting glitch and
remove blank line.
From-SVN: r200389
GCC Administrator [Tue, 25 Jun 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r200387
Alan Modra [Tue, 25 Jun 2013 00:08:47 +0000 (09:38 +0930)]
ffi.c (ffi_prep_args_SYSV): Move var declaration before statements.
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
before statements.
(ffi_prep_args64): Support little-endian.
(ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise.
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.
From-SVN: r200383
Ian Lance Taylor [Mon, 24 Jun 2013 23:12:48 +0000 (23:12 +0000)]
compiler: generate dummy names for blank-named constants.
Otherwise such const declarations are not checked.
From-SVN: r200381
Ian Lance Taylor [Mon, 24 Jun 2013 22:11:12 +0000 (22:11 +0000)]
compiler: Add support for method values.
From-SVN: r200379
Dehao Chen [Mon, 24 Jun 2013 17:31:45 +0000 (17:31 +0000)]
files.c (_cpp_stack_include): Fix the highest_location when header file is guarded by #ifndef and is included...
2013-06-24 Dehao Chen <dehao@google.com>
* files.c (_cpp_stack_include): Fix the highest_location when header
file is guarded by #ifndef and is included twice.
From-SVN: r200376
Steve Ellcey [Mon, 24 Jun 2013 15:24:19 +0000 (15:24 +0000)]
configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement.
2013-06-24 Steve Ellcey <sellcey@mips.com>
* configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement.
* configure: Regenerate.
From-SVN: r200374
Bernd Edlinger [Mon, 24 Jun 2013 13:46:58 +0000 (13:46 +0000)]
re PR libstdc++/57691 (freestanding libstdc++ has compile error)
2013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR libstdc++/57691
* include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
declare per the letter of the C++ standard in terms of void.
* include/c_std/cstdlib: Likewise.
From-SVN: r200371
Martin Jambor [Mon, 24 Jun 2013 12:51:43 +0000 (14:51 +0200)]
re PR tree-optimization/57358 (segmentation fault with attribute(optimize(O0)))
2013-06-24 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/57358
* ipa-prop.c (ipa_func_spec_opts_forbid_analysis_p): New function.
(ipa_compute_jump_functions_for_edge): Bail out if it returns true.
(ipa_analyze_params_uses): Generate pessimistic info when true.
testsuite
* gcc.dg/ipa/pr57358.c: New test.
From-SVN: r200369
Martin Jambor [Mon, 24 Jun 2013 12:40:17 +0000 (14:40 +0200)]
re PR tree-optimization/57539 (ice in ipa_edge_duplication_hook)
2013-06-24 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/57539
* cgraphclones.c (cgraph_clone_node): Add parameter new_inlined_to, set
global.inlined_to of the new node to it. All callers changed.
* ipa-inline-transform.c (clone_inlined_nodes): New variable
inlining_into, pass it to cgraph_clone_node.
* ipa-prop.c (ipa_propagate_indirect_call_infos): Do not call
ipa_free_edge_args_substructures.
(ipa_edge_duplication_hook): Only add edges from inlined nodes to
rdesc linked list. Do not assert rdesc edges have inlined caller.
Assert we have found an rdesc in the rdesc list.
From-SVN: r200368
Richard Biener [Mon, 24 Jun 2013 12:17:16 +0000 (12:17 +0000)]
pointer-set.h (struct pointer_set_t): Move here from pointer-set.c.
2013-06-24 Richard Biener <rguenther@suse.de>
* pointer-set.h (struct pointer_set_t): Move here from
pointer-set.c.
(pointer_set_lookup): Declare.
(class pointer_map): New template class implementing a
generic pointer to T map.
(pointer_map<T>::pointer_map, pointer_map<T>::~pointer_map,
pointer_map<T>::contains, pointer_map<T>::insert,
pointer_map<T>::traverse): New functions.
* pointer-set.c (struct pointer_set_t): Moved to pointer-set.h.
(pointer_set_lookup): New function.
(pointer_set_contains): Use pointer_set_lookup.
(pointer_set_insert): Likewise.
(insert_aux): Remove.
(struct pointer_map_t): Embed a pointer_set_t.
(pointer_map_create): Adjust.
(pointer_map_destroy): Likewise.
(pointer_map_contains): Likewise.
(pointer_map_insert): Likewise.
(pointer_map_traverse): Likewise.
* tree-streamer.h (struct streamer_tree_cache_d): Use a
pointer_map<unsigned> instead of a pointer_map_t.
* tree-streamer.c (streamer_tree_cache_insert_1): Adjust.
(streamer_tree_cache_lookup): Likewise.
(streamer_tree_cache_create): Likewise.
(streamer_tree_cache_delete): Likewise.
* lto-streamer.h (struct lto_tree_ref_encoder): Use a
pointer_map<unsigned> instead of a pointer_map_t.
(lto_init_tree_ref_encoder): Adjust.
(lto_destroy_tree_ref_encoder): Likewise.
* lto-section-out.c (lto_output_decl_index): Likewise.
(lto_record_function_out_decl_state): Likewise.
* dominance.c (iterate_fix_dominators): Use pointer_map<int>.
From-SVN: r200367
Richard Biener [Mon, 24 Jun 2013 11:14:31 +0000 (11:14 +0000)]
re PR testsuite/57686 (FAIL: gcc.dg/torture/pr57584.c with -m32)
2013-06-24 Richard Biener <rguenther@suse.de>
PR testsuite/57686
* gcc.dg/torture/pr57584.c: Remove target specific bits.
From-SVN: r200364
Richard Biener [Mon, 24 Jun 2013 10:22:22 +0000 (10:22 +0000)]
re PR tree-optimization/57488 (loop terminates early at -O3)
2013-06-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/57488
* tree-ssa-pre.c (insert): Clear NEW sets before each iteration.
* gcc.dg/torture/pr57488.c: New testcase.
From-SVN: r200363
Tobias Burnus [Mon, 24 Jun 2013 08:43:55 +0000 (10:43 +0200)]
[multiple changes]
2013-06-24 Steven G. Kargl <sgk@troutmask.apl.washington.edu>
Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/52413
* simplify.c (gfc_simplify_fraction): Fix the sign of negative values.
2013-06-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/52413
* gfortran.dg/fraction.f90: New.
From-SVN: r200361
Tobias Burnus [Mon, 24 Jun 2013 08:34:05 +0000 (10:34 +0200)]
configure.ac: Check for fp_except and fp_except_t.
2013-06-24 Tobias Burnus <burnus@net-b.de>
* configure.ac: Check for fp_except and fp_except_t.
* config/fpu-sysv.h: Conditionally use either type.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r200360
Alan Modra [Mon, 24 Jun 2013 01:04:35 +0000 (10:34 +0930)]
fix duplication of test
From-SVN: r200359
Alan Modra [Mon, 24 Jun 2013 00:52:34 +0000 (10:22 +0930)]
rs6000.c (vspltis_constant): Correct for little-endian.
gcc/
* config/rs6000/rs6000.c (vspltis_constant): Correct for little-endian.
(gen_easy_altivec_constant): Likewise.
* config/rs6000/predicates.md (easy_vector_constant_add_self,
easy_vector_constant_msb): Likewise.
gcc/testsuite/
* gcc.target/powerpc/altivec-consts.c: Correct for little-endian.
Add scan-assembler-not "lvx".
* gcc.target/powerpc/le-altivec-consts.c: New.
From-SVN: r200357
GCC Administrator [Mon, 24 Jun 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r200356
Paolo Carlini [Sun, 23 Jun 2013 23:36:34 +0000 (23:36 +0000)]
sfinae47.C: New.
2013-06-23 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/sfinae47.C: New.
From-SVN: r200353
Jakub Jelinek [Sun, 23 Jun 2013 19:06:00 +0000 (21:06 +0200)]
re PR target/57688 (-O3 -march=native generates illegal opcode on AMD Phenom)
PR target/57688
* common/config/i386/i386-common.c (ix86_handle_option): For OPT_mlzcnt
add missing return true.
From-SVN: r200352
Oleg Endo [Sun, 23 Jun 2013 08:39:55 +0000 (08:39 +0000)]
re PR target/52483 (SH Target: Loads from volatile memory leave redundant sign/zero extensions)
PR target/52483
* config/sh/predicates.md (general_extend_operand): Invoke
general_movsrc_operand for memory operands.
(general_movsrc_operand): Allow reg+reg addressing, do not use
general_operand for memory operands.
PR target/52483
* gcc.target/sh/pr52483-1.c: New.
* gcc.target/sh/pr52483-2.c: New.
* gcc.target/sh/pr52483-3.c: New.
* gcc.target/sh/pr52483-4.c: New.
* gcc.target/sh/pr52483-5.c: New.
From-SVN: r200350
Sriraman Tallam [Sun, 23 Jun 2013 06:15:19 +0000 (06:15 +0000)]
Allow mmintrin headers to work with function specific target opts.
Allow mmintrin headers to work with function specific target opts. Please
see discussion here:
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00740.html
* config/i386/i386.c (ix86_pragma_target_parse): Restore target
when current target options does not apply.
* config/i386/i386-protos.h (ix86_reset_previous_fndecl): New function.
* config/i386/i386.c (ix86_reset_previous_fndecl): Ditto.
* config/i386/bmiintrin.h: Pass appropriate target attributes to header.
* config/i386/mmintrin.h: Ditto.
* config/i386/nmmintrin.h: Ditto.
* config/i386/avx2intrin.h: Ditto.
* config/i386/fxsrintrin.h: Ditto.
* config/i386/tbmintrin.h: Ditto.
* config/i386/xsaveintrin.h: Ditto.
* config/i386/f16cintrin.h: Ditto.
* config/i386/xtestintrin.h: Ditto.
* config/i386/xsaveoptintrin.h: Ditto.
* config/i386/bmi2intrin.h: Ditto.
* config/i386/lzcntintrin.h: Ditto.
* config/i386/smmintrin.h: Ditto.
* config/i386/wmmintrin.h: Ditto.
* config/i386/x86intrin.h: Remove all header include guards.
* config/i386/prfchwintrin.h: Ditto.
* config/i386/pmmintrin.h: Ditto.
* config/i386/tmmintrin.h: Ditto.
* config/i386/xmmintrin.h: Ditto.
* config/i386/popcntintrin.h: Ditto.
* config/i386/rdseedintrin.h: Ditto.
* config/i386/ammintrin.h: Ditto.
* config/i386/emmintrin.h: Ditto.
* config/i386/immintrin.h: Remove all header include guards.
* config/i386/fma4intrin.h: Ditto.
* config/i386/lwpintrin.h: Ditto.
* config/i386/xopintrin.h: Ditto.
* config/i386/ia32intrin.h: Ditto.
* config/i386/avxintrin.h: Ditto.
* config/i386/rtmintrin.h: Ditto.
* config/i386/fmaintrin.h: Ditto.
* config/i386/mm3dnow.h: Ditto.
* testsuite/gcc.target/i386/intrinsics_1.c: New test.
* testsuite/gcc.target/i386/intrinsics_2.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_3.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_4.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_5.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_6.c: Ditto.
* testsuite/gcc.target/i386/avx-1.c: Provide macros for builtins
needing immediate arguments in f16cintrin.h and rtmintrin.h.
From-SVN: r200349
Gabriel Dos Reis [Sun, 23 Jun 2013 02:27:03 +0000 (02:27 +0000)]
c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
* c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
* c-cppbuiltin.c (c_cpp_builtins): Likewise.
* c-opts.c (c_common_post_options): Likewise.
cp/
2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
* call.c (null_ptr_cst_p): Use cxx11 in lieu of cxx0x.
* class.c (add_implicitly_declared_members): Likewise.
(check_field_decl): Likewise.
(finalize_literal_type_property): Likewise.
(check_bases_and_members): Likewise.
* decl.c (poplevel): Likewise.
(case_conversion): Likewise.
(check_initializer): Likewise.
(grokfndecl): Likewise.
(check_static_variable_definition): Likewise.
(compute_array_index_type): Likewise.
(grokdeclarator): Likewise.
(build_enumerator): Likewise.
* friend.c (make_friend_class): Likewise.
* lex.c (init_reswords): Likewise.
* method.c (synthesized_method_walk): Likewise.
(implicitly_declare_fn): Likewise.
* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
(cp_parser_constant_expression): Likewise.
(cp_parser_for_init_statement): Likewise.
(cp_parser_block_declaration): Likewise.
(cp_parser_type_name): Likewise.
(cp_parser_enum_specifier): Likewise.
(cp_parser_enumerator_list): Likewise.
(cp_parser_member_declaration): Likewise.
(cp_nth_tokens_can_be_std_attribute_p): Likewise.
(cp_parser_template_declaration_after_export): Likewise.
* pt.c (convert_nontype_argument_function): Likewise.
(convert_nontype_argument): Likewise.
(convert_template_argument): Likewise.
(tsubst_copy_and_build): Likewise.
(build_non_dependent_expr): Likewise.
* semantics.c (non_const_var_error): Likewise.
(potential_constant_expression_1): Likewise.
* tree.c (lvalue_kind): Likewise.
(build_vec_init_expr): Likewise.
(cast_valid_in_integral_constant_expression_p): Likewise.
* typeck.c (build_x_conditional_expr): Likewise.
* typeck2.c (check_narrowing): Likewise.
From-SVN: r200348
Sriraman Tallam [Sun, 23 Jun 2013 00:57:40 +0000 (00:57 +0000)]
i386-common.c: Handle LZCNT.
2013-06-22 Sriraman Tallam <tmsriram@google.com>
* common/config/i386/i386-common.c: Handle LZCNT.
From-SVN: r200347
GCC Administrator [Sun, 23 Jun 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r200346
Paolo Carlini [Sat, 22 Jun 2013 21:07:02 +0000 (21:07 +0000)]
re PR libstdc++/57674 (wrong distribution for std::binomial_distribution::operator()(g,param))
2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57674
* include/bits/random.h (binomial_distribution<>::_M_waiting):
Add double parameter.
* include/bits/random.tcc (binomial_distribution<>::operator()
(_UniformRandomNumberGenerator&, const param_type&)): Pass
__param._M_q to _M_waiting.
(_M_waiting): Adjust.
* testsuite/26_numerics/random/binomial_distribution/
operators/values.cc: Add tests.
From-SVN: r200341
Andi Kleen [Sat, 22 Jun 2013 17:23:08 +0000 (17:23 +0000)]
Fix __atomic_store_n typo in recent manual change
gcc/:
2013-06-22 Andi Kleen <ak@linux.intel.com>
* doc/extend.texi: Use __atomic_store_n instead of
__atomic_store in HLE example.
From-SVN: r200333
Oleg Endo [Sat, 22 Jun 2013 12:00:09 +0000 (12:00 +0000)]
sh.c: Remove <cstdlib> workaround.
* config/sh/sh.c: Remove <cstdlib> workaround.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r200328
GCC Administrator [Sat, 22 Jun 2013 00:16:37 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r200324
Tobias Burnus [Fri, 21 Jun 2013 21:51:41 +0000 (23:51 +0200)]
trans-array.c (gfc_trans_deferred_array): Call the finalizer for nonallocatable local variables.
2013-06-21 Tobias Burnus <burnus@net-b.de>
* trans-array.c (gfc_trans_deferred_array): Call the
finalizer for nonallocatable local variables.
* trans-decl.c (gfc_get_symbol_decl): Add local
finalizable vars to the deferred list.
(gfc_trans_deferred_vars): Call gfc_trans_deferred_array
for those.
2013-06-21 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/finalize_17.f90: New.
From-SVN: r200321
Tobias Burnus [Fri, 21 Jun 2013 21:24:59 +0000 (23:24 +0200)]
trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate at least one byte.
2013-06-21 Tobias Burnus <burnus@net-b.de>
* trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate
at least one byte.
* trans-expr.c (alloc_scalar_allocatable_for_assignment): Ditto.
2013-06-21 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/realloc_on_assign_18.f90: New.
From-SVN: r200320
Balaji V. Iyer [Fri, 21 Jun 2013 19:36:47 +0000 (19:36 +0000)]
Implemented Cilk Plus Array Notation for C++
Implemented Cilk Plus Array Notation for C++
gcc/c-family/ChangeLog
2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
* c-common.h (struct cilkplus_an_parts): New structure.
(struct cilkplus_an_loop_parts): Likewise.
(cilkplus_extract_an_triplets): New prototype.
(fix_sec_implicit_args): Likewise.
* array-notation-common.c (cilkplus_extract_an_triplets): New function.
(fix_sec_implicit_args): Likewise.
gcc/cp/ChangeLog
2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
* call.c (convert_like_real): Added a check if array notation is present
in expression. If so, then no conversion of arguments is necessary.
(build_over_call): Likewise.
* typeck.c (cp_build_function_call_vec): Likewise.
(convert_for_assignment): Likewise.
(cp_build_array_ref): Reject array notations with a rank greater than 1
as an array's index.
(cp_build_binary_op): If array notations are preent in op, then call
find_correct_array_notation_type.
(cp_build_addr_expr_1): Handle ARRAY_NOTATION_REF similar to ARRAY_REF.
* cp-array-notation.c: New file.
* cp-objcp-common.c (cp_common_init_ts): Marked ARRAY_NOTATION_REF tree
as typed.
* cp-tree.h (fix_array_notation_exprs): New prototype.
* semantics.c (finish_return_stmt): Reject array notations as
return value.
(cxx_eval_constant_expression): Added ARRAY_NOTATION_REF case.
(potential_constant_expression_1): Likewise.
* tree.c (lvalue_kind): Likewise.
* error.c (dump_decl): Likewise.
(dump_expr): Likewise.
* pt.c (ARRAY_NOTATION_REF): Likewise.
(type_unification_real): Do not unify any arguments if array notations
are found in arg.
(instantiate_decl): Added a check for array notaitons inside the
function body. If so, then expand them.
* parser.c (cp_parser_array_notation): New function.
(cp_parser_postfix_open_square_expression): Added a check for colons
inside square braces. If found, then handle the array access as an
array notation access. Also, disable auto-correction from a single
colon to scope when Cilk Plus is enabled.
(cp_parser_compound_statement): Added a check for array notations
inside the statement. If found, then expand them.
(cp_parser_ctor_initializer_opt_and_function_body): Likewise.
(cp_parser_function_definition_after_declarator): Likewise.
(cp_parser_selection_statement): Searched for array notations inside
condition. If so, then emit an error.
(cp_parser_iteration_statement): Likewise.
(cp_parser_direct_declarator): Reject array notations inside a
variable or array declaration.
* Make-lang.in (CXX_AND_OBJCXX_OBJS): Added cp/cp-array-notation.o.
gcc/testsuite/ChangeLog
2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
* c-c++-common/cilk-plus/AN/array_test1.c: Make this an execution test.
Also changed the returns from error as distinct values so that debugging
can get easier.
* c-c++-common/cilk-plus/AN/if_test_errors.c (main): Made certain
errors specific to C, if necessary. Also added new error hooks for C++.
* c-c++-common/cilk-plus/AN/misc.c (main): Likewise.
* c-c++-common/cilk-plus/AN/parser_errors.c (main): Likewise.
* c-c++-common/cilk-plus/AN/parser_errors2.c (main): Likewise.
* c-c++-common/cilk-plus/AN/parser_errors3.c (main): Likewise.
* c-c++-common/cilk-plus/AN/pr57541.c (main): Likewise.
* c-c++-common/cilk-plus/AN/parser_errors4.c (main): In addition to the
same changes as parser_errors3.c, spaces were added between colons to
not confuse C++ compiler with 2 colons as scope.
* c-c++-common/cilk-plus/AN/vla.c: Make this test C specific.
* g++.dg/cilk-plus/AN/array_test1_tplt.cc: New test.
* g++.dg/cilk-plus/AN/array_test2_tplt.cc: Likewise.
* g++.dg/cilk-plus/AN/array_test_ND_tplt.cc: Likewise.
* g++.dg/cilk-plus/AN/braced_list.cc: Likewise.
* g++.dg/cilk-plus/AN/builtin_fn_custom_tplt.cc: Likewise.
* g++.dg/cilk-plus/AN/builtin_fn_mutating_tplt.cc: Likewise.
* g++.dg/cilk-plus/AN/fp_triplet_values_tplt.c: Likewise.
* g++.dg/cilk-plus/AN/preincr_test.cc: Likewise.
* g++.dg/cilk-plus/AN/postincr_test.cc: Likewise.
* g++.dg/cilk-plus/cilk-plus.exp: New script.
* gcc/testsuite/g++.dg/dg.exp: Included Cilk Plus C++ tests in the list.
From-SVN: r200319
Joseph Myers [Fri, 21 Jun 2013 19:08:01 +0000 (20:08 +0100)]
re PR other/53317 (Conversion from __int128 to __float128)
PR other/53317
gcc/testsuite:
* gcc.dg/torture/fp-int-convert-float128-timode-2.c: New test.
libgcc:
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
* config/aarch64/sfp-machine.h (_FP_QNANNEGATEDP): Define to 0.
* config/arm/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/c6x/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/i386/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/ia64/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/lm32/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/moxie/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/rs6000/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/score/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/tilegx/sfp-machine32.h (_FP_QNANNEGATEDP): Likewise.
* config/tilegx/sfp-machine64.h (_FP_QNANNEGATEDP): Likewise.
* config/tilepro/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
From-SVN: r200318
Ian Lance Taylor [Fri, 21 Jun 2013 17:56:49 +0000 (17:56 +0000)]
compiler: do not skip compilation of blank-named functions.
Fixes issue 22.
From-SVN: r200316
Paolo Carlini [Fri, 21 Jun 2013 14:23:15 +0000 (14:23 +0000)]
re PR libstdc++/57666 (valarray<T>::operator= in c++11 mode does not adapt to size)
2013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57666
* include/std/valarray (valarray<>::operator=(const _Expr<>&)):
Implement correctly C++11 26.6.2.3/1.
* testsuite/26_numerics/valarray/dr630-3.C: New.
From-SVN: r200305
Andi Kleen [Fri, 21 Jun 2013 13:51:48 +0000 (13:51 +0000)]
Fix HLE example in manual
The HLE example in the manual only commits when using bool
for the flag, because __atomic_clear only writes bool, and
HLE requires the acquire and release to match.
So when the example is copied with e.g. an int variable it
does not commit and causes slower than expected performance.
Some people are running into problems because of this.
Switch it over to use __atomic_store.
Also fix a minor typo nearby.
gcc/:
2013-06-21 Andi Kleen <ak@linux.intel.com>
* doc/extend.texi: Dont use __atomic_clear in HLE
example. Fix typo.
From-SVN: r200304
Andi Kleen [Fri, 21 Jun 2013 13:51:37 +0000 (13:51 +0000)]
Improve __atomic_clear/test_and_set documentation
Document that __atomic_clear and __atomic_test_and_set should
only be used with bool.
gcc/:
2013-06-21 Andi Kleen <ak@linux.intel.com>
* doc/extend.texi: Document that __atomic_clear and
__atomic_test_and_set should only be used with bool.
From-SVN: r200303
Eric Botcazou [Fri, 21 Jun 2013 13:16:57 +0000 (13:16 +0000)]
* config/fpu-sysv.h (get_fpu_except_flags): Fix typo.
From-SVN: r200298
Jan Hubicka [Fri, 21 Jun 2013 06:43:39 +0000 (08:43 +0200)]
gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Use types_same_for_odr.
* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Use
types_same_for_odr.
* tree.c (decls_same_for_odr): New function.
(same_for_edr): New function.
(types_same_for_odr): New function.
(get_binfo_at_offset): Use it.
* tree.h (types_same_for_odr): Declare.
From-SVN: r200288
Ian Lance Taylor [Fri, 21 Jun 2013 00:29:54 +0000 (00:29 +0000)]
compiler: Really only make descriptors when needed.
From-SVN: r200280