Segher Boessenkool [Wed, 7 May 2014 22:00:58 +0000 (00:00 +0200)]
rs6000: New attributes for load/store: "sign_extend", "update" and "indexed"
The new attributes replace the instruction types *_ext*, *_u, *_ux.
This simplifies all code that does not care about the addressing modes,
putting the burden on the code that does care (mostly the scheduling
descriptions for certain CPUs).
It fixes a few minor bugs in the process.
The "update" and "indexed" attributes are automatic for any insn that
has a MEM as operand 0 or 1. Other insns have to set it manually, if
they do not like the default (which is "no"). Insns that are type
load/store/fpload/fpstore but have fewer than two operands need to set
it too, or the compiler will crash. There are very few of those.
This tries not to change semantics anywhere; in particular, the string
and multiple instructions set both "update" and "indexed" (although
they are neither).
From-SVN: r210190
Ian Lance Taylor [Wed, 7 May 2014 21:48:29 +0000 (21:48 +0000)]
mksysinfo: Define CLONE flags.
From-SVN: r210189
Oleg Endo [Wed, 7 May 2014 20:08:23 +0000 (20:08 +0000)]
re PR target/60884 ([SH] improve inlined strlen-like builtin functions)
gcc/
PR target/60884
* config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
unrolled byte insns. Emit address increments after move insns.
gcc/testsuite/
PR target/60884
* gcc.target/sh/pr53976-1.c (test_02): Remove inappropriate test case.
(test_03): Rename to test_02.
From-SVN: r210187
David Malcolm [Wed, 7 May 2014 19:35:23 +0000 (19:35 +0000)]
Const-correctness of gimple_call_builtin_p
gcc/
2014-05-07 David Malcolm <dmalcolm@redhat.com>
* gimple.h (gimple_builtin_call_types_compatible_p): Accept a
const_gimple, rather than a gimple.
(gimple_call_builtin_p): Likewise, for the three variants.
* gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
(gimple_call_builtin_p): Likewise, for the three variants.
From-SVN: r210185
Paolo Carlini [Wed, 7 May 2014 19:31:24 +0000 (19:31 +0000)]
re PR c++/61083 ([C++11] Ambiguous member pointer results in failure, even if used in SFINAE.)
/cp
2014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61083
* pt.c (convert_nontype_argument): Protect all the error calls
with complain & tf_error.
/testsuite
2014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61083
* g++.dg/cpp0x/sfinae50.C: New.
From-SVN: r210184
Richard Sandiford [Wed, 7 May 2014 18:00:59 +0000 (18:00 +0000)]
re PR sanitizer/61095 (miscompile: tsan is broken in gcc trunk, works in 4.9)
gcc/
PR tree-optimization/61095
* tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
From-SVN: r210181
Charles Baylis [Wed, 7 May 2014 15:45:32 +0000 (15:45 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2014-05-07 Charles Baylis <charles.baylis@linaro.org>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r210164
Jonathan Wakely [Wed, 7 May 2014 14:43:22 +0000 (15:43 +0100)]
re PR libstdc++/61086 (ubsan detects undefined behaviour in the standard library)
PR libstdc++/61086
* include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
Remove.
* include/bits/stl_vector.h (vector::insert, vector::erase): Use
arithmetic to obtain a mutable iterator from const_iterator.
* include/bits/vector.tcc (vector::insert): Likewise.
* include/debug/vector (vector::erase): Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* 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: r210162
Paolo Carlini [Wed, 7 May 2014 14:30:23 +0000 (14:30 +0000)]
re PR c++/61080 (Spurious no return statement warning with deleted operators)
/cp
2014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61080
* pt.c (instantiate_decl): Avoid generating the body of a
deleted function.
/testsuite
2014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61080
* g++.dg/cpp0x/deleted7.C: New.
From-SVN: r210161
Richard Biener [Wed, 7 May 2014 14:19:14 +0000 (14:19 +0000)]
re PR tree-optimization/61034 (Optimizing takes too many passes)
2014-05-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/61034
* tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
(maybe_skip_until): Use translate to take into account
lattices when trying to do disambiguations.
(get_continuation_for_phi_1): Likewise.
(get_continuation_for_phi): Adjust for added translate
arguments.
(walk_non_aliased_vuses): Likewise.
* tree-ssa-alias.h (get_continuation_for_phi): Adjust
prototype.
(walk_non_aliased_vuses): Likewise.
(call_may_clobber_ref_p_1): Declare.
* tree-ssa-sccvn.c (vn_reference_lookup_3): Also
disambiguate against calls. Stop early if we are
only supposed to disambiguate.
* tree-ssa-pre.c (translate_vuse_through_block): Adjust.
* g++.dg/tree-ssa/pr61034.C: New testcase.
From-SVN: r210160
Jonathan Wakely [Wed, 7 May 2014 14:12:37 +0000 (15:12 +0100)]
re PR libstdc++/61023 (set/map move assignment doesn't move (or copy) the comparator)
PR libstdc++/61023
* include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
comparison function.
* testsuite/23_containers/set/cons/61023.cc: New.
From-SVN: r210159
Joern Rennecke [Wed, 7 May 2014 13:21:59 +0000 (13:21 +0000)]
epiphany.c (epiphany_handle_interrupt_attribute): Emit an error when the function has arguments.
gcc:
* config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
Emit an error when the function has arguments.
gcc/testsuite:
* gcc.target/epiphany/isr-arg.c: New file.
From-SVN: r210157
Thomas Schwinge [Wed, 7 May 2014 13:06:46 +0000 (15:06 +0200)]
More gcc/loop-unswitch.c cleanup.
gcc/
* cfgloop.h (unswitch_loops): Remove.
* doc/passes.texi: Remove references to loop-unswitch.c
* timevar.def (TV_LOOP_UNSWITCH): Remove.
From-SVN: r210156
Evgeny Stupachenko [Wed, 7 May 2014 12:10:22 +0000 (12:10 +0000)]
re PR tree-optimization/52252 (An opportunity for x86 gcc vectorizer (gain up to 3 times))
gcc/
* tree-vect-data-refs.c (vect_grouped_load_supported): New
check for loads group of length 3.
(vect_permute_load_chain): New permutations for loads group of
length 3.
* tree-vect-stmts.c (vect_model_load_cost): Change cost
of vec_perm_shuffle for the new permutations.
gcc/testsuite/
PR tree-optimization/52252
* gcc.dg/vect/pr52252-ld.c: Test on loads group of size 3.
From-SVN: r210155
Alan Lawrence [Wed, 7 May 2014 10:58:43 +0000 (10:58 +0000)]
Add execution + assembler tests of AArch64 REV Neon Intrinsics.
* gcc.target/aarch64/simd/vrev16p8_1.c: New file.
* gcc.target/aarch64/simd/vrev16p8.x: New file.
* gcc.target/aarch64/simd/vrev16qp8_1.c: New file.
* gcc.target/aarch64/simd/vrev16qp8.x: New file.
* gcc.target/aarch64/simd/vrev16qs8_1.c: New file.
* gcc.target/aarch64/simd/vrev16qs8.x: New file.
* gcc.target/aarch64/simd/vrev16qu8_1.c: New file.
* gcc.target/aarch64/simd/vrev16qu8.x: New file.
* gcc.target/aarch64/simd/vrev16s8_1.c: New file.
* gcc.target/aarch64/simd/vrev16s8.x: New file.
* gcc.target/aarch64/simd/vrev16u8_1.c: New file.
* gcc.target/aarch64/simd/vrev16u8.x: New file.
* gcc.target/aarch64/simd/vrev32p16_1.c: New file.
* gcc.target/aarch64/simd/vrev32p16.x: New file.
* gcc.target/aarch64/simd/vrev32p8_1.c: New file.
* gcc.target/aarch64/simd/vrev32p8.x: New file.
* gcc.target/aarch64/simd/vrev32qp16_1.c: New file.
* gcc.target/aarch64/simd/vrev32qp16.x: New file.
* gcc.target/aarch64/simd/vrev32qp8_1.c: New file.
* gcc.target/aarch64/simd/vrev32qp8.x: New file.
* gcc.target/aarch64/simd/vrev32qs16_1.c: New file.
* gcc.target/aarch64/simd/vrev32qs16.x: New file.
* gcc.target/aarch64/simd/vrev32qs8_1.c: New file.
* gcc.target/aarch64/simd/vrev32qs8.x: New file.
* gcc.target/aarch64/simd/vrev32qu16_1.c: New file.
* gcc.target/aarch64/simd/vrev32qu16.x: New file.
* gcc.target/aarch64/simd/vrev32qu8_1.c: New file.
* gcc.target/aarch64/simd/vrev32qu8.x: New file.
* gcc.target/aarch64/simd/vrev32s16_1.c: New file.
* gcc.target/aarch64/simd/vrev32s16.x: New file.
* gcc.target/aarch64/simd/vrev32s8_1.c: New file.
* gcc.target/aarch64/simd/vrev32s8.x: New file.
* gcc.target/aarch64/simd/vrev32u16_1.c: New file.
* gcc.target/aarch64/simd/vrev32u16.x: New file.
* gcc.target/aarch64/simd/vrev32u8_1.c: New file.
* gcc.target/aarch64/simd/vrev32u8.x: New file.
* gcc.target/aarch64/simd/vrev64f32_1.c: New file.
* gcc.target/aarch64/simd/vrev64f32.x: New file.
* gcc.target/aarch64/simd/vrev64p16_1.c: New file.
* gcc.target/aarch64/simd/vrev64p16.x: New file.
* gcc.target/aarch64/simd/vrev64p8_1.c: New file.
* gcc.target/aarch64/simd/vrev64p8.x: New file.
* gcc.target/aarch64/simd/vrev64qf32_1.c: New file.
* gcc.target/aarch64/simd/vrev64qf32.x: New file.
* gcc.target/aarch64/simd/vrev64qp16_1.c: New file.
* gcc.target/aarch64/simd/vrev64qp16.x: New file.
* gcc.target/aarch64/simd/vrev64qp8_1.c: New file.
* gcc.target/aarch64/simd/vrev64qp8.x: New file.
* gcc.target/aarch64/simd/vrev64qs16_1.c: New file.
* gcc.target/aarch64/simd/vrev64qs16.x: New file.
* gcc.target/aarch64/simd/vrev64qs32_1.c: New file.
* gcc.target/aarch64/simd/vrev64qs32.x: New file.
* gcc.target/aarch64/simd/vrev64qs8_1.c: New file.
* gcc.target/aarch64/simd/vrev64qs8.x: New file.
* gcc.target/aarch64/simd/vrev64qu16_1.c: New file.
* gcc.target/aarch64/simd/vrev64qu16.x: New file.
* gcc.target/aarch64/simd/vrev64qu32_1.c: New file.
* gcc.target/aarch64/simd/vrev64qu32.x: New file.
* gcc.target/aarch64/simd/vrev64qu8_1.c: New file.
* gcc.target/aarch64/simd/vrev64qu8.x: New file.
* gcc.target/aarch64/simd/vrev64s16_1.c: New file.
* gcc.target/aarch64/simd/vrev64s16.x: New file.
* gcc.target/aarch64/simd/vrev64s32_1.c: New file.
* gcc.target/aarch64/simd/vrev64s32.x: New file.
* gcc.target/aarch64/simd/vrev64s8_1.c: New file.
* gcc.target/aarch64/simd/vrev64s8.x: New file.
* gcc.target/aarch64/simd/vrev64u16_1.c: New file.
* gcc.target/aarch64/simd/vrev64u16.x: New file.
* gcc.target/aarch64/simd/vrev64u32_1.c: New file.
* gcc.target/aarch64/simd/vrev64u32.x: New file.
* gcc.target/aarch64/simd/vrev64u8_1.c: New file.
* gcc.target/aarch64/simd/vrev64u8.x: New file.
From-SVN: r210153
Alan Lawrence [Wed, 7 May 2014 10:51:15 +0000 (10:51 +0000)]
Add execution + assembler tests of AArch64 EXT intrinsics.
gcc.target/aarch64/simd/ext_f32.x: New file.
gcc.target/aarch64/simd/ext_f32_1.c: New file.
gcc.target/aarch64/simd/ext_p16.x: New file.
gcc.target/aarch64/simd/ext_p16_1.c: New file.
gcc.target/aarch64/simd/ext_p8.x: New file.
gcc.target/aarch64/simd/ext_p8_1.c: New file.
gcc.target/aarch64/simd/ext_s16.x: New file.
gcc.target/aarch64/simd/ext_s16_1.c: New file.
gcc.target/aarch64/simd/ext_s32.x: New file.
gcc.target/aarch64/simd/ext_s32_1.c: New file.
gcc.target/aarch64/simd/ext_s64.x: New file.
gcc.target/aarch64/simd/ext_s64_1.c: New file.
gcc.target/aarch64/simd/ext_s8.x: New file.
gcc.target/aarch64/simd/ext_s8_1.c: New file.
gcc.target/aarch64/simd/ext_u16.x: New file.
gcc.target/aarch64/simd/ext_u16_1.c: New file.
gcc.target/aarch64/simd/ext_u32.x: New file.
gcc.target/aarch64/simd/ext_u32_1.c: New file.
gcc.target/aarch64/simd/ext_u64.x: New file.
gcc.target/aarch64/simd/ext_u64_1.c: New file.
gcc.target/aarch64/simd/ext_u8.x: New file.
gcc.target/aarch64/simd/ext_u8_1.c: New file.
gcc.target/aarch64/simd/ext_f64.c: New file.
gcc.target/aarch64/simd/extq_f32.x: New file.
gcc.target/aarch64/simd/extq_f32_1.c: New file.
gcc.target/aarch64/simd/extq_p16.x: New file.
gcc.target/aarch64/simd/extq_p16_1.c: New file.
gcc.target/aarch64/simd/extq_p8.x: New file.
gcc.target/aarch64/simd/extq_p8_1.c: New file.
gcc.target/aarch64/simd/extq_s16.x: New file.
gcc.target/aarch64/simd/extq_s16_1.c: New file.
gcc.target/aarch64/simd/extq_s32.x: New file.
gcc.target/aarch64/simd/extq_s32_1.c: New file.
gcc.target/aarch64/simd/extq_s64.x: New file.
gcc.target/aarch64/simd/extq_s64_1.c: New file.
gcc.target/aarch64/simd/extq_s8.x: New file.
gcc.target/aarch64/simd/extq_s8_1.c: New file.
gcc.target/aarch64/simd/extq_u16.x: New file.
gcc.target/aarch64/simd/extq_u16_1.c: New file.
gcc.target/aarch64/simd/extq_u32.x: New file.
gcc.target/aarch64/simd/extq_u32_1.c: New file.
gcc.target/aarch64/simd/extq_u64.x: New file.
gcc.target/aarch64/simd/extq_u64_1.c: New file.
gcc.target/aarch64/simd/extq_u8.x: New file.
gcc.target/aarch64/simd/extq_u8_1.c: New file.
gcc.target/aarch64/simd/extq_f64.c: New file.
From-SVN: r210152
Alan Lawrence [Wed, 7 May 2014 10:40:41 +0000 (10:40 +0000)]
Reimplement AArch64 TRN intrinsics with __builtin_shuffle.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/vtrns32.c: Expect zip[12] insn rather than trn[12].
* gcc.target/aarch64/vtrnu32.c: Likewise.
* gcc.target/aarch64/vtrnf32.c: Likewise.
gcc/ChangeLog:
* config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
From-SVN: r210151
Thomas Schwinge [Wed, 7 May 2014 10:31:26 +0000 (12:31 +0200)]
Really delete gcc/loop-unswitch.c.
gcc/
* loop-unswitch.c: Delete.
From-SVN: r210150
Richard Biener [Wed, 7 May 2014 10:24:38 +0000 (10:24 +0000)]
configure.ac: Always set need_64bit_hwint to yes.
2014-05-07 Richard Biener <rguenther@suse.de>
libcpp/
* configure.ac: Always set need_64bit_hwint to yes.
* configure: Regenerated.
* config.gcc: Always set need_64bit_hwint to yes.
From-SVN: r210149
Alan Lawrence [Wed, 7 May 2014 10:20:54 +0000 (10:20 +0000)]
Add execution + assembler tests of AArch64 TRN Intrinsics.
* gcc.target/aarch64/simd/vtrnf32_1.c: New file.
* gcc.target/aarch64/simd/vtrnf32.x: New file.
* gcc.target/aarch64/simd/vtrnp16_1.c: New file.
* gcc.target/aarch64/simd/vtrnp16.x: New file.
* gcc.target/aarch64/simd/vtrnp8_1.c: New file.
* gcc.target/aarch64/simd/vtrnp8.x: New file.
* gcc.target/aarch64/simd/vtrnqf32_1.c: New file.
* gcc.target/aarch64/simd/vtrnqf32.x: New file.
* gcc.target/aarch64/simd/vtrnqp16_1.c: New file.
* gcc.target/aarch64/simd/vtrnqp16.x: New file.
* gcc.target/aarch64/simd/vtrnqp8_1.c: New file.
* gcc.target/aarch64/simd/vtrnqp8.x: New file.
* gcc.target/aarch64/simd/vtrnqs16_1.c: New file.
* gcc.target/aarch64/simd/vtrnqs16.x: New file.
* gcc.target/aarch64/simd/vtrnqs32_1.c: New file.
* gcc.target/aarch64/simd/vtrnqs32.x: New file.
* gcc.target/aarch64/simd/vtrnqs8_1.c: New file.
* gcc.target/aarch64/simd/vtrnqs8.x: New file.
* gcc.target/aarch64/simd/vtrnqu16_1.c: New file.
* gcc.target/aarch64/simd/vtrnqu16.x: New file.
* gcc.target/aarch64/simd/vtrnqu32_1.c: New file.
* gcc.target/aarch64/simd/vtrnqu32.x: New file.
* gcc.target/aarch64/simd/vtrnqu8_1.c: New file.
* gcc.target/aarch64/simd/vtrnqu8.x: New file.
* gcc.target/aarch64/simd/vtrns16_1.c: New file.
* gcc.target/aarch64/simd/vtrns16.x: New file.
* gcc.target/aarch64/simd/vtrns32_1.c: New file.
* gcc.target/aarch64/simd/vtrns32.x: New file.
* gcc.target/aarch64/simd/vtrns8_1.c: New file.
* gcc.target/aarch64/simd/vtrns8.x: New file.
* gcc.target/aarch64/simd/vtrnu16_1.c: New file.
* gcc.target/aarch64/simd/vtrnu16.x: New file.
* gcc.target/aarch64/simd/vtrnu32_1.c: New file.
* gcc.target/aarch64/simd/vtrnu32.x: New file.
* gcc.target/aarch64/simd/vtrnu8_1.c: New file.
* gcc.target/aarch64/simd/vtrnu8.x: New file.
From-SVN: r210148
Richard Biener [Wed, 7 May 2014 08:04:15 +0000 (08:04 +0000)]
re PR tree-optimization/57864 (ICE in bitmap_set_replace_value, at tree-ssa-pre.c:862)
2014-05-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/57864
* gcc.dg/torture/pr57864.c: New testcase.
From-SVN: r210142
Paolo Carlini [Wed, 7 May 2014 07:24:21 +0000 (07:24 +0000)]
re PR c++/60999 (ICE when static_cast from constexpr in specialization of template-class)
/cp
2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60999
* pt.c (maybe_begin_member_template_processing): Use
uses_template_parms.
/testsuite
2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60999
* g++.dg/cpp0x/nsdmi-template9.C: New.
* g++.dg/cpp0x/nsdmi-template10.C: Likewise.
From-SVN: r210140
Chung-Ju Wu [Wed, 7 May 2014 06:57:00 +0000 (06:57 +0000)]
Fix date in ChangeLog.
From-SVN: r210138
Chung-Ju Wu [Wed, 7 May 2014 06:34:15 +0000 (06:34 +0000)]
nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor of using optimize_size.
* config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
of using optimize_size.
From-SVN: r210137
Jerry DeLisle [Wed, 7 May 2014 01:46:03 +0000 (01:46 +0000)]
re PR libfortran/61049 (NIST test FM906 fails)
2014-05-06 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/61049
* gfortran.dg/list_read_13.f: New test.
From-SVN: r210135
Jerry DeLisle [Wed, 7 May 2014 01:31:42 +0000 (01:31 +0000)]
re PR libfortran/61049 (NIST test FM906 fails)
2014-05-06 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/61049
* io/list_read.c (list_formatted_read_scalar): Use eat_separator
and delete extraneous code.
From-SVN: r210134
Paolo Carlini [Wed, 7 May 2014 01:11:19 +0000 (01:11 +0000)]
Makefile.in: Regenerate.
2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/Makefile.in: Regenerate.
From-SVN: r210133
GCC Administrator [Wed, 7 May 2014 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210132
Mike Stump [Tue, 6 May 2014 23:50:35 +0000 (23:50 +0000)]
* wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
From-SVN: r210128
Paolo Carlini [Tue, 6 May 2014 22:32:49 +0000 (22:32 +0000)]
re PR c++/60999 (ICE when static_cast from constexpr in specialization of template-class)
/cp
2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60999
* pt.c (maybe_begin_member_template_processing): Use
uses_template_parms.
/testsuite
2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60999
* g++.dg/cpp0x/nsdmi-template9.C: New.
* g++.dg/cpp0x/nsdmi-template10.C: Likewise.
From-SVN: r210126
Joseph Myers [Tue, 6 May 2014 20:35:15 +0000 (21:35 +0100)]
* config/i386/sse.md (*mov<mode>_internal)
(*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
(*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
(<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
(*<code><mode>3, *andnot<mode>3<mask_name>)
(<mask_codefor><code><mode>3<mask_name>): Only consider
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
From-SVN: r210124
François Dumont [Tue, 6 May 2014 19:59:44 +0000 (19:59 +0000)]
macros.h [...]: Add parameter to pass the 2 instances to check allocator equality.
2014-05-06 François Dumont <fdumont@gcc.gnu.org>
* include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
parameter to pass the 2 instances to check allocator equality.
* include/debug/safe_container.h: New, define _Safe_container<>.
* include/Makefile.am: Add previous.
* include/debug/deque (std::__debug::deque<>): Inherit
_Safe_container<>. Use default implementation for all special
functions.
* include/debug/forward_list (std::__debug::forward_list<>):
Likewise.
* include/debug/list (std::__debug::list<>): Likewise.
* include/debug/map.h (std::__debug::map<>): Likewise.
* include/debug/multimap.h (std::__debug::multimap<>): Likewise.
* include/debug/set.h (std::__debug::set<>): Likewise.
* include/debug/multiset.h (std::__debug::multiset<>): Likewise.
* include/debug/string (std::__debug::basic_string<>): Likewise.
* include/debug/unordered_map
(std::__debug::unordered_map<>): Likewise.
(std::__debug::unordered_multimap<>): Likewise.
* include/debug/unordered_set
(std::__debug::unordered_set<>): Likewise.
(std::__debug::unordered_multiset<>): Likewise.
* include/debug/vector (std::__debug::vector<>): Likewise.
* include/debug/safe_base.h (_Safe_sequence_base()): Add
noexcept.
(_Safe_sequence_base(_Safe_sequence_base&&): Remove.
(~_Safe_sequence_base()): Add noexcept.
* include/debug/safe_sequence.h
(std::__debug::_Safe_node_sequence<>): New.
* include/debug/safe_unordered_base.h
(_Safe_unordered_container_base()): Add noexcept.
(~_Safe_unordered_container_base()): Likewise.
(_M_swap(_Safe_unordered_container_base&)): Likewise.
* include/debug/safe_unordered_container.h:
(_Safe_unordered_container<>::_M_invalidate_locals()): New.
(_Safe_unordered_container<>::_M_invalidate_all()): New.
* src/c++11/debug.cc: Limit includes, adapt methods noexcept
qualifications.
* testsuite/util/debug/checks.h (check_construct1): Just implement
an invalid constructor invocation and no other operations
potentially not supported by some types of container.
(check_construct2): Likewise.
(check_construct3): Likewise.
* testsuite/23_containers/forward_list/allocator/move.cc: Add
check on iterators to make sure they are correctly moved in debug
mode.
* testsuite/23_containers/forward_list/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/map/allocator/move.cc: Likewise.
* testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
* testsuite/23_containers/multimap/allocator/move.cc: Likewise.
* testsuite/23_containers/multimap/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/multiset/allocator/move.cc: Likewise.
* testsuite/23_containers/multiset/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/set/allocator/move.cc: Likewise.
* testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
* testsuite/23_containers/unordered_map/allocator/move.cc:
Likewise.
* testsuite/23_containers/unordered_map/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/allocator/move.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/move.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/move.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/construct1_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/construct2_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/construct3_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/construct4_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/move_neg.cc: New.
* testsuite/23_containers/map/debug/construct5_neg.cc: New.
* testsuite/23_containers/map/debug/move_assign_neg.cc: New.
* testsuite/23_containers/map/debug/move_neg.cc: New.
* testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
* testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
* testsuite/23_containers/multimap/debug/move_neg.cc: New.
* testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
* testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
* testsuite/23_containers/multiset/debug/move_neg.cc: New.
* testsuite/23_containers/set/debug/construct5_neg.cc: New.
* testsuite/23_containers/set/debug/move_assign_neg.cc: New.
* testsuite/23_containers/set/debug/move_neg.cc: New.
* testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
New.
* testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
* testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
New.
* testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
New.
* testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
New.
* testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
New.
* testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
New.
* testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
* testsuite/23_containers/vector/debug/move_neg.cc: New.
From-SVN: r210123
Chris Manghane [Tue, 6 May 2014 19:28:03 +0000 (19:28 +0000)]
compiler: Use backend interface for expressions.
* go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
(Gcc_backend::boolean_constant_expression): New method.
(Gcc_backend::zero_expression): Use this->make_expression rather
than tree_to_expr.
(Gcc_backend::var_expression): Likewise.
(Gcc_backend::integer_constant_expression): Likewise.
(Gcc_backend::float_constant_expression): Likewise.
(Gcc_backend::complex_constant_expression): Likewise.
(Gcc_backend::struct_field_expression): Likewise.
(tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
(tree_to_function, tree_to_block): Remove functions.
(type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
(block_to_tree, var_to_tree, function_to_tree): Remove functions.
From-SVN: r210122
Richard Sandiford [Tue, 6 May 2014 19:22:16 +0000 (19:22 +0000)]
revert: lra-constraints.c (valid_address_p): Move earlier in file.
gcc/
Revert:
2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
* lra-constraints.c (valid_address_p): Move earlier in file.
Add a constraint argument to the address_info version.
(satisfies_memory_constraint_p): New function.
(satisfies_address_constraint_p): Likewise.
(process_alt_operands, curr_insn_transform): Use them.
(process_address): Pass the constraint to valid_address_p when
checking address operands.
From-SVN: r210121
Richard Sandiford [Tue, 6 May 2014 17:47:15 +0000 (17:47 +0000)]
lto-cgraph.c (compute_ltrans_boundary): Make node variables local to their respective blocks.
gcc/
* lto-cgraph.c (compute_ltrans_boundary): Make node variables local
to their respective blocks. Fix inadvertent use of "node".
From-SVN: r210120
Richard Sandiford [Tue, 6 May 2014 17:46:05 +0000 (17:46 +0000)]
boehm.c (mark_reference_fields): Don't update the mask when setting pointer_after_end.
gcc/java/
* boehm.c (mark_reference_fields): Don't update the mask when
setting pointer_after_end.
From-SVN: r210119
Richard Sandiford [Tue, 6 May 2014 17:44:15 +0000 (17:44 +0000)]
emit-rtl.c (init_derived_machine_modes): New functionm, split out from...
gcc/
* emit-rtl.c (init_derived_machine_modes): New functionm, split
out from...
(init_emit_once): ...here.
* rtl.h (init_derived_machine_modes): Declare.
* toplev.c (do_compile): Call it even if no_backend.
From-SVN: r210118
Kenneth Zadeck [Tue, 6 May 2014 16:35:35 +0000 (16:35 +0000)]
Update ChangeLogs for wide-int work.
Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Co-Authored-By: Mike Stump <mikestump@comcast.net>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r210116
Kenneth Zadeck [Tue, 6 May 2014 16:25:05 +0000 (16:25 +0000)]
Merge in wide-int.
From-SVN: r210113
Chris Manghane [Tue, 6 May 2014 13:50:01 +0000 (13:50 +0000)]
compiler: Store flags for division checks in Gogo object instead of using global variables.
* go-c.h (go_create_gogo): Update declaration to add
check_divide_zero and check_divide_overflow parameters.
* go-lang.c (go_langhook_init): Pass new arguments to
go_create_gogo.
From-SVN: r210109
Jan-Benedict Glaw [Tue, 6 May 2014 13:48:29 +0000 (13:48 +0000)]
avr.c (avr_can_eliminate): Mark unused argument.
2014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/avr/avr.c (avr_can_eliminate): Mark unused argument.
From-SVN: r210108
Richard Biener [Tue, 6 May 2014 13:35:40 +0000 (13:35 +0000)]
tree-pass.h (TODO_verify_ssa, [...]): Remove.
2014-05-06 Richard Biener <rguenther@suse.de>
* tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
(TODO_verify_all): Adjust.
* asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
TODO_verify_stmts and TODO_verify_rtl_sharing.
* bb-reorder.c: Likewise.
* cfgexpand.c: Likewise.
* cprop.c: Likewise.
* cse.c: Likewise.
* function.c: Likewise.
* fwprop.c: Likewise.
* gcse.c: Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* ipa-split.c: Likewise.
* loop-init.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* modulo-sched.c: Likewise.
* postreload-gcse.c: Likewise.
* predict.c: Likewise.
* recog.c: Likewise.
* sched-rgn.c: Likewise.
* store-motion.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-complex.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-object-size.c: Likewise.
* tree-parloops.c: Likewise.
* tree-pass.h: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* tsan.c: Likewise.
* var-tracking.c: Likewise.
* bt-load.c: Likewise.
* cfgcleanup.c: Likewise.
* combine-stack-adj.c: Likewise.
* combine.c: Likewise.
* compare-elim.c: Likewise.
* config/epiphany/resolve-sw-modes.c: Likewise.
* config/i386/i386.c: Likewise.
* config/mips/mips.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh_treg_combine.cc: Likewise.
* config/sparc/sparc.c: Likewise.
* dce.c: Likewise.
* dse.c: Likewise.
* final.c: Likewise.
* ifcvt.c: Likewise.
* mode-switching.c: Likewise.
* passes.c: Likewise.
* postreload.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regcprop.c: Likewise.
* regrename.c: Likewise.
* web.c: Likewise.
From-SVN: r210106
Richard Biener [Tue, 6 May 2014 10:46:18 +0000 (10:46 +0000)]
c-opts.c (c_common_post_options): For -freestanding...
2014-05-06 Richard Biener <rguenther@suse.de>
c-family/
* c-opts.c (c_common_post_options): For -freestanding,
-fno-hosted and -fno-builtin disable pattern recognition
if not enabled explicitely.
From-SVN: r210100
Richard Biener [Tue, 6 May 2014 08:30:57 +0000 (08:30 +0000)]
re PR debug/61070 (debug_bitmap writes to stdout)
2014-05-06 Richard Biener <rguenther@suse.de>
PR middle-end/61070
* bitmap.c (debug_bitmap): Dump to stderr, not stdout.
* tree-ssa-structalias.c (dump_solution_for_var): Likewise.
From-SVN: r210098
Ian Lance Taylor [Tue, 6 May 2014 05:33:31 +0000 (05:33 +0000)]
compiler: Fix bug in embedded method handling.
If the same type was embedded in a struct at different levels,
only the first embedded instance was considered when building
the set of all methods. A second instance was ignored, even
if it was at a higher level and should therefore override the
first instance.
Test case is bug485.go in master repository.
From-SVN: r210096
Ian Lance Taylor [Tue, 6 May 2014 01:14:34 +0000 (01:14 +0000)]
compiler: Use backend interface for array length.
From-SVN: r210093
GCC Administrator [Tue, 6 May 2014 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210092
Chris Manghane [Tue, 6 May 2014 00:11:29 +0000 (00:11 +0000)]
compiler: Use backend interface for slice construction.
* go-gcc.cc (Gcc_backend::implicit_variable): Rename from
gc_root_variable. Add name and is_constant parameters.
From-SVN: r210088
Chris Manghane [Mon, 5 May 2014 23:54:16 +0000 (23:54 +0000)]
compiler: Handle recursive pointer types for unary indirection.
* go-gcc.cc (Gcc_backend::indirect_expression): Add btype
parameter.
(Gcc_backend::temporary_variable): Check for erroneous function.
From-SVN: r210087
Jan Hubicka [Mon, 5 May 2014 23:27:40 +0000 (01:27 +0200)]
re PR ipa/60965 (IPA: Devirtualization versus placement new)
PR ipa/60965
* ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
* g++.dg/ipa/devirt-32.C: New testcase.
From-SVN: r210086
Radovan Obradovic [Mon, 5 May 2014 22:51:36 +0000 (22:51 +0000)]
Add call_fusage_contains_non_callee_clobbers hook
2014-05-05 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* target.def (call_fusage_contains_non_callee_clobbers): New DEFHOOKPOD.
* doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
Hooks to @menu.
(@node Miscellaneous Register Hooks): New node.
(@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
* doc/tm.texi: Regenerate.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r210085
Ian Lance Taylor [Mon, 5 May 2014 21:48:52 +0000 (21:48 +0000)]
compiler: Use backend interface for type info expressions.
From-SVN: r210084
Marek Polacek [Mon, 5 May 2014 20:37:47 +0000 (20:37 +0000)]
re PR driver/61065 ([4.9/4.10 Regresion] invalid args to -fsanitize should be an error not a warning)
PR driver/61065
* opts.c (common_handle_option): Call error_at instead of warning_at.
From-SVN: r210080
Ian Lance Taylor [Mon, 5 May 2014 19:05:59 +0000 (19:05 +0000)]
compiler: Use backend interface for sink expressions.
From-SVN: r210078
Ian Lance Taylor [Mon, 5 May 2014 18:49:39 +0000 (18:49 +0000)]
compiler: Use backend interface for set and use temporaries.
From-SVN: r210077
Ian Lance Taylor [Mon, 5 May 2014 17:55:03 +0000 (17:55 +0000)]
compiler: Use backend interface for struct field offsets.
From-SVN: r210074
Richard Biener [Mon, 5 May 2014 17:40:08 +0000 (17:40 +0000)]
passes.c (execute_function_todo): Don't reset TODO_verify_ssa from last_verified if update_ssa ran.
2014-05-05 Richard Biener <rguenther@suse.de>
* passes.c (execute_function_todo): Don't reset TODO_verify_ssa
from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
under the TODO_verify_il umbrella.
From-SVN: r210073
Ian Lance Taylor [Mon, 5 May 2014 17:22:40 +0000 (17:22 +0000)]
compiler: Use backend interface for bound method expressions.
From-SVN: r210072
Richard Biener [Mon, 5 May 2014 09:28:39 +0000 (09:28 +0000)]
passes.c (execute_function_todo): Move TODO_verify_flow under the TODO_verify_ul umbrella.
2014-05-05 Richard Biener <rguenther@suse.de>
* passes.c (execute_function_todo): Move TODO_verify_flow under
the TODO_verify_ul umbrella.
From-SVN: r210068
Richard Biener [Mon, 5 May 2014 09:23:31 +0000 (09:23 +0000)]
re PR middle-end/61010 (Infinite recursion in fold)
2014-05-05 Richard Biener <rguenther@suse.de>
PR middle-end/61010
* fold-const.c (fold_binary_loc): Consistently avoid
canonicalizing X & CST away from a CST that is the mask
of a mode.
* gcc.dg/torture/pr61010.c: New testcase.
From-SVN: r210066
Jan-Benedict Glaw [Mon, 5 May 2014 08:28:45 +0000 (08:28 +0000)]
picochip-protos.h (picochip_regno_nregs): Change int argument to enum machine_mode.
2014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/picochip/picochip-protos.h (picochip_regno_nregs): Change
int argument to enum machine_mode.
(picochip_class_max_nregs): Ditto.
* config/picochip/picochip.c (picochip_regno_nregs): Ditto.
(picochip_class_max_nregs): Ditto.
From-SVN: r210065
Andreas Schwab [Mon, 5 May 2014 08:10:37 +0000 (08:10 +0000)]
Update libstdc++ baseline symbols for ia64
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt
(CXXABI_1.3.9): Remove __float128 symbols.
From-SVN: r210063
Andreas Krebbel [Mon, 5 May 2014 07:55:26 +0000 (07:55 +0000)]
target.def: Add new target hook.
2014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* target.def: Add new target hook.
* doc/tm.texi: Regenerate.
* targhooks.h (default_keep_leaf_when_profiled): Add prototype.
* targhooks.c (default_keep_leaf_when_profiled): New function.
* config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
(TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
2014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/leaf-profile.c: New testcase.
From-SVN: r210061
Andreas Krebbel [Mon, 5 May 2014 07:53:35 +0000 (07:53 +0000)]
hoist-register-pressure-1.c: Replace int with long.
2014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/hoist-register-pressure-1.c: Replace int with long.
Disable asm scan for s390.
* gcc.dg/hoist-register-pressure-2.c: Likewise.
* gcc.dg/hoist-register-pressure-3.c: Likewise.
From-SVN: r210060
Bin Cheng [Mon, 5 May 2014 07:36:30 +0000 (07:36 +0000)]
re PR tree-optimization/60363 (logical_op_short_circuit, gcc.dg/tree-ssa/ssa-dom-thread-4.c scan-tree-dump-times dom1 "Threaded" 4)
PR tree-optimization/60363
* gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
(copy_phi_args): New parameters. Call get_value_locus_in_path.
(update_destination_phis): New parameter.
(create_edge_and_update_destination_phis): Ditto.
(ssa_fix_duplicate_block_edges): Pass new arguments.
(thread_single_edge): Ditto.
PR tree-optimization/60363
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Revert XFAIL test.
From-SVN: r210059
Peter Bergner [Mon, 5 May 2014 01:52:30 +0000 (20:52 -0500)]
rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
gcc/
* config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
(RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
(TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
* config/rs6000/rs6000-builtin.def (BU_MISC_1):
Use RS6000_BTM_HARD_FLOAT.
(BU_MISC_2): Likewise.
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
RS6000_BTM_HARD_FLOAT.
(rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
is explicitly used.
(rs6000_invalid_builtin): Add hard floating builtin support.
(rs6000_expand_builtin): Relax the gcc_assert to allow the new
hard float builtins.
(rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
gcc/testsuite/
* gcc.target/powerpc/pack02.c (dg-options): Add -mhard-float.
(dg-require-effective-target): Change target to powerpc_fprs.
* gcc.target/powerpc/pack03.c (dg-options): Add -mhard-dfp.
(dg-require-effective-target): Change target to dfprt.
From-SVN: r210054
GCC Administrator [Mon, 5 May 2014 00:16:25 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r210053
GCC Administrator [Sun, 4 May 2014 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r210047
Paolo Carlini [Sat, 3 May 2014 22:44:22 +0000 (22:44 +0000)]
re PR c++/58582 ([c++11] ICE defining and instantiating deleted template function)
/cp
2014-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58582
* decl.c (grokfndecl): Check duplicate_decls return value for
error_mark_node.
* pt.c (instantiate_decl): A deleted function is defined.
/testsuite
2014-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58582
* g++.dg/cpp0x/deleted4.C: New.
* g++.dg/cpp0x/deleted5.C: Likewise.
* g++.dg/cpp0x/deleted6.C: Likewise.
From-SVN: r210043
Oleg Endo [Sat, 3 May 2014 20:22:09 +0000 (20:22 +0000)]
sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute): Add missing function* argument.
* config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
Add missing function* argument.
From-SVN: r210040
Richard Sandiford [Sat, 3 May 2014 19:19:56 +0000 (19:19 +0000)]
lra-constraints.c (valid_address_p): Move earlier in file.
gcc/
* lra-constraints.c (valid_address_p): Move earlier in file.
Add a constraint argument to the address_info version.
(satisfies_memory_constraint_p): New function.
(satisfies_address_constraint_p): Likewise.
(process_alt_operands, curr_insn_transform): Use them.
(process_address): Pass the constraint to valid_address_p when
checking address operands.
From-SVN: r210039
Richard Sandiford [Sat, 3 May 2014 19:18:40 +0000 (19:18 +0000)]
mips.c (mips_isa_rev): New variable.
gcc/
* config/mips/mips.c (mips_isa_rev): New variable.
(mips_set_architecture): Set it.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
from mips_isa_rev.
(ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
(ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
(ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
(ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
(ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
conditions in terms of mips_isa_rev.
(mips_isa_rev): Declare.
From-SVN: r210038
Oleg Endo [Sat, 3 May 2014 17:47:27 +0000 (17:47 +0000)]
sh-mem.cc: Use tabs instead of spaces.
* config/sh/sh-mem.cc: Use tabs instead of spaces.
(prob_unlikely, prob_likely): Make variables const.
From-SVN: r210037
Denis Chertykov [Sat, 3 May 2014 14:23:24 +0000 (18:23 +0400)]
avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
* config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
From-SVN: r210035
Dominique d'Humieres [Sat, 3 May 2014 12:16:53 +0000 (14:16 +0200)]
2014-05-03 Dominique d'Humieres <dominiq@lps.ens.fr>
Fix typos in log entries.
From-SVN: r210034
Oleg Endo [Sat, 3 May 2014 11:50:38 +0000 (11:50 +0000)]
sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
* config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
From-SVN: r210033
Oleg Endo [Sat, 3 May 2014 09:42:52 +0000 (09:42 +0000)]
sh.h (ROUND_ADVANCE): Delete macro.
* config/sh/sh.h (ROUND_ADVANCE): Delete macro.
(ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
* config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
functions.
(sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
sh_pass_in_reg_p.
Replace usage of ROUND_REG with sh_round_reg.
Use CEIL instead of ROUND_ADVANCE.
From-SVN: r210032
Dominique d'Humieres [Sat, 3 May 2014 09:08:15 +0000 (11:08 +0200)]
re PR testsuite/61025 (FAIL: gfortran.dg/coarray_lib_this_image_1.f90)
2014-05-03 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/61025
* gfortran.dg/coarray_lib_this_image_1.f90: Adjust the dg-final
regexps for -m32.
* gfortran.dg/coarray_lib_this_image_2.f90: Likewise.
* gfortran.dg/coarray_poly_7.f90: Likewise.
* gfortran.dg/coarray_poly_8.f90: Likewise.
* gfortran.dg/coarray_poly_9.f90: Likewise.
From-SVN: r210031
Oleg Endo [Sat, 3 May 2014 07:51:02 +0000 (07:51 +0000)]
re PR target/61026 (sh-rtems4.11 build of 4.9.0 fails on FreeBSD 10 c++ (clang).)
PR target/61026
* config/sh/sh.c: Include stdlib headers before everything else.
From-SVN: r210028
GCC Administrator [Sat, 3 May 2014 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r210026
Jason Merrill [Fri, 2 May 2014 20:56:41 +0000 (16:56 -0400)]
* decl2.c (vague_linkage_p): Local statics have vague linkage.
From-SVN: r210019
Jason Merrill [Fri, 2 May 2014 19:47:40 +0000 (15:47 -0400)]
re PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)
PR c++/60992
* lambda.c (lambda_capture_field_type): Wrap anything dependent
other than 'this'.
(add_capture): Check for VLA before calling it.
* semantics.c (is_this_parameter): Accept any 'this' parameter, not
just the current one. Make non-static.
* cp-tree.h: Declare it.
* pt.c (tsubst_copy) [VAR_DECL]: Also build a new VAR_DECL if
the operand was static or constant.
From-SVN: r210017
Jonathan Wakely [Fri, 2 May 2014 18:29:48 +0000 (19:29 +0100)]
re PR libstdc++/61036 (shared_ptr<void>(new T) rejected)
PR libstdc++/61036
* include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
Check the correct type in the static assertion.
* testsuite/20_util/shared_ptr/cons/61036.cc: New.
From-SVN: r210015
Marek Polacek [Fri, 2 May 2014 18:13:43 +0000 (18:13 +0000)]
re PR c/25801 (bad diagnostic for increment/decrement of pointer to incomplete array)
PR c/25801
* c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
Return size_one_node when the type is not complete.
(pointer_diff): Remove comment.
(build_unary_op): Improve error messages.
* gcc.dg/pr25801.c: New test.
From-SVN: r210013
Marek Polacek [Fri, 2 May 2014 18:09:42 +0000 (18:09 +0000)]
c-typeck.c (c_finish_return): Separate warning_at calls.
c/
* c-typeck.c (c_finish_return): Separate warning_at calls.
cp/
* typeck.c (maybe_warn_about_returning_address_of_local): Separate
warning_at calls.
From-SVN: r210012
Marek Polacek [Fri, 2 May 2014 18:07:40 +0000 (18:07 +0000)]
* c.opt (Wsizeof-pointer-memaccess): Describe option.
From-SVN: r210011
Jakub Jelinek [Fri, 2 May 2014 17:43:40 +0000 (19:43 +0200)]
gimplify.c (gimplify_adjust_omp_clauses_1): Handle GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
* gimplify.c (gimplify_adjust_omp_clauses_1): Handle
GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
(gimplify_adjust_omp_clauses): Simd region is never
directly nested in combined parallel. Instead, for linear
with copyin/copyout, if in combined for simd loop, make decl
firstprivate/lastprivate on OMP_FOR.
* omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
expand_omp_for_static_chunk): When setting endvar, also set
fd->loop.v to the same value.
libgomp/
* testsuite/libgomp.c/simd-10.c: New test.
* testsuite/libgomp.c/simd-11.c: New test.
* testsuite/libgomp.c/simd-12.c: New test.
* testsuite/libgomp.c/simd-13.c: New test.
From-SVN: r210009
Jonathan Wakely [Fri, 2 May 2014 16:01:30 +0000 (17:01 +0100)]
re PR libstdc++/59476 (gdb pretty-printer cannot print C++11 _Rb_tree_iterator)
PR libstdc++/59476
* python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
function to handle both C++03 and C++11 _Rb_tree_node implementations.
(StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
* testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
refer to...
* testsuite/libstdc++-prettyprinters/simple11.cc: New.
From-SVN: r210008
Richard Sandiford [Fri, 2 May 2014 15:35:33 +0000 (15:35 +0000)]
hwint.h (zext_hwi): Fix signed overflow for prec == 63.
gcc/
* hwint.h (zext_hwi): Fix signed overflow for prec == 63.
From-SVN: r210006
Alan Lawrence [Fri, 2 May 2014 15:11:04 +0000 (15:11 +0000)]
One-line tidy of bit-twiddle expression in aarch64.c
* config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
expression.
From-SVN: r210005
Marek Polacek [Fri, 2 May 2014 08:24:49 +0000 (08:24 +0000)]
* doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
From-SVN: r210002
Marek Polacek [Fri, 2 May 2014 07:57:59 +0000 (07:57 +0000)]
c-tree.h (error_init): Remove declaration.
* c-tree.h (error_init): Remove declaration.
(pedwarn_init): Likewise.
* c-typeck.c (error_init): Make static and move above.
(pedwarn_init): Likewise.
(warning_init): Move above.
(maybe_warn_string_init): Likewise.
From-SVN: r210001
Kito Cheng [Fri, 2 May 2014 06:03:22 +0000 (06:03 +0000)]
defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER to a C expression marco.
2014-02-26 Kito Cheng <kito@0xlab.org>
* defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
to a C expression marco.
* ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
* config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
* doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
HONOR_REG_ALLOC_ORDER.
* doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
From-SVN: r210000
Jeff Law [Fri, 2 May 2014 05:46:38 +0000 (23:46 -0600)]
revert: c-parser.c (c_parser_sizeof_expression): Reorganize slightly to avoid goto.
2014-05-01 Jeff Law <law@redhat.com>
Revert:
2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
* c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
avoid goto.
From-SVN: r209999
Marek Polacek [Fri, 2 May 2014 05:40:38 +0000 (05:40 +0000)]
re PR c/60784 (Spurious -Wmissing-field-initializers warning for anonymous structure)
PR c/60784
* c-typeck.c (push_init_level): Set constructor_designated to
p->designated for structures.
* gcc.dg/pr60784.c: New test.
From-SVN: r209998
Jeff Law [Fri, 2 May 2014 03:54:33 +0000 (21:54 -0600)]
[multiple changes]
2014-05-01 Jeff Law <law@redhat.com>
* Revert:
2014-04-24 Jincheng Miao <jincheng.miao@gmail.com>
* zh_CN.po: Fix typo for -mfentry.
From-SVN: r209997
GCC Administrator [Fri, 2 May 2014 00:17:21 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r209996
Joseph Myers [Thu, 1 May 2014 21:33:52 +0000 (22:33 +0100)]
* sv.po: Update.
From-SVN: r209989
Richard Sandiford [Thu, 1 May 2014 20:51:11 +0000 (20:51 +0000)]
* config.sub, config.guess: Import from upstream.
From-SVN: r209988
Ian Lance Taylor [Thu, 1 May 2014 19:18:56 +0000 (19:18 +0000)]
compiler: Use backend interface for heap expressions.
From-SVN: r209983