Commit Graph

129682 Commits

Author SHA1 Message Date
Thomas Preud'homme
7500b256b0 re PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)
2014-05-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        PR middle-end/39246
        * tree-complex.c (expand_complex_move): Keep line info when expanding
        complex move.
        * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment 
        of complex expression. Use new argument to display correct location 
        for values coming from phi statement.
        (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
        (warn_uninitialized_phi): Pass location of phi argument to 
        warn_uninit.
        * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
        COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.

testsuite:

        * gcc.dg/uninit-13.c: Move warning on the actual source line where
        the uninitialized complex is used.
        * gcc.dg/uninit-17.c: New test to check partial initialization of
        complex with branches.
        * gcc.dg/uninit-17-O0.c: Likewise.

From-SVN: r210200
2014-05-08 01:23:01 +00:00
Thomas Preud'homme
e1ec47c453 re PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)
2014-05-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        PR middle-end/39246
        * tree-complex.c (expand_complex_move): Keep line info when expanding
        complex move.
        * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment 
        of complex expression. Use new argument to display correct location 
        for values coming from phi statement.
        (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
        (warn_uninitialized_phi): Pass location of phi argument to 
        warn_uninit.
        * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
        COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.

testsuite:

        * gcc.dg/uninit-13.c: Move warning on the actual source line where
        the uninitialized complex is used.
        * gcc.dg/uninit-17.c: New test to check partial initialization of
        complex with branches.
        * gcc.dg/uninit-17-O0.c: Likewise.

From-SVN: r210199
2014-05-08 01:20:17 +00:00
Thomas Preud'homme
10e08855d7 re PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)
2014-05-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        PR middle-end/39246
        * tree-complex.c (expand_complex_move): Keep line info when expanding
        complex move.
        * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment 
        of complex expression. Use new argument to display correct location 
        for values coming from phi statement.
        (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
        (warn_uninitialized_phi): Pass location of phi argument to 
        warn_uninit.
        * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
        COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.

testsuite:

        * gcc.dg/uninit-13.c: Move warning on the actual source line where
        the uninitialized complex is used.
        * gcc.dg/uninit-17.c: New test to check partial initialization of
        complex with branches.
        * gcc.dg/uninit-17-O0.c: Likewise.

From-SVN: r210198
2014-05-08 01:19:11 +00:00
GCC Administrator
e019b84be1 Daily bump.
From-SVN: r210197
2014-05-08 00:16:57 +00:00
Ian Lance Taylor
44d5790f7b mksysinfo: Define some more non-trivial TIOC constants.
From-SVN: r210192
2014-05-07 22:22:29 +00:00
Segher Boessenkool
d839f53b7d 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
2014-05-08 00:00:58 +02:00
Ian Lance Taylor
d3b4df0b17 mksysinfo: Define CLONE flags.
From-SVN: r210189
2014-05-07 21:48:29 +00:00
Oleg Endo
36dc9ae8cd 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
2014-05-07 20:08:23 +00:00
David Malcolm
9bbf45f692 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
2014-05-07 19:35:23 +00:00
Paolo Carlini
04e5eb5f10 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
2014-05-07 19:31:24 +00:00
Richard Sandiford
1a51f10c81 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
2014-05-07 18:00:59 +00:00
Charles Baylis
5b1e4b475b MAINTAINERS (Write After Approval): Add myself.
2014-05-07  Charles Baylis  <charles.baylis@linaro.org>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r210164
2014-05-07 15:45:32 +00:00
Jonathan Wakely
bbf264c9b2 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
2014-05-07 15:43:22 +01:00
Paolo Carlini
ef2662bf65 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
2014-05-07 14:30:23 +00:00
Richard Biener
50f0aa2074 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
2014-05-07 14:19:14 +00:00
Jonathan Wakely
2588652e17 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
2014-05-07 15:12:37 +01:00
Joern Rennecke
e7b7077e4c 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
2014-05-07 14:21:59 +01:00
Thomas Schwinge
c4597c1dd9 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
2014-05-07 15:06:46 +02:00
Evgeny Stupachenko
2c23db6dd3 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
2014-05-07 12:10:22 +00:00
Alan Lawrence
586199f309 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
2014-05-07 10:58:43 +00:00
Alan Lawrence
e0e906bc14 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
2014-05-07 10:51:15 +00:00
Alan Lawrence
1d175503d5 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
2014-05-07 10:40:41 +00:00
Thomas Schwinge
e2d87487ff Really delete gcc/loop-unswitch.c.
gcc/
	* loop-unswitch.c: Delete.

From-SVN: r210150
2014-05-07 12:31:26 +02:00
Richard Biener
f543058db9 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
2014-05-07 10:24:38 +00:00
Alan Lawrence
9008b1d1b6 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
2014-05-07 10:20:54 +00:00
Richard Biener
9c13483b14 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
2014-05-07 08:04:15 +00:00
Paolo Carlini
faeb5f9116 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
2014-05-07 07:24:21 +00:00
Chung-Ju Wu
153df826a4 Fix date in ChangeLog.
From-SVN: r210138
2014-05-07 06:57:00 +00:00
Chung-Ju Wu
9609240458 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
2014-05-07 06:34:15 +00:00
Jerry DeLisle
157a50f99c 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
2014-05-07 01:46:03 +00:00
Jerry DeLisle
0222756393 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
2014-05-07 01:31:42 +00:00
Paolo Carlini
f03d1bb9cb Makefile.in: Regenerate.
2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/Makefile.in: Regenerate.

From-SVN: r210133
2014-05-07 01:11:19 +00:00
GCC Administrator
850cb6ad95 Daily bump.
From-SVN: r210132
2014-05-07 00:17:26 +00:00
Mike Stump
ca66f89bfa * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
From-SVN: r210128
2014-05-06 23:50:35 +00:00
Paolo Carlini
895a5cc06c 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
2014-05-06 22:32:49 +00:00
Joseph Myers
659c0e684c * 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
2014-05-06 21:35:15 +01:00
François Dumont
15ee1a7745 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
2014-05-06 19:59:44 +00:00
Chris Manghane
6f7e0b570a 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
2014-05-06 19:28:03 +00:00
Richard Sandiford
3379b71f51 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
2014-05-06 19:22:16 +00:00
Richard Sandiford
224dbc07a5 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
2014-05-06 17:47:15 +00:00
Richard Sandiford
ebe9df675a 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
2014-05-06 17:46:05 +00:00
Richard Sandiford
aa3a12d66e 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
2014-05-06 17:44:15 +00:00
Kenneth Zadeck
1d60af0867 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
2014-05-06 16:35:35 +00:00
Kenneth Zadeck
807e902eea Merge in wide-int.
From-SVN: r210113
2014-05-06 16:25:05 +00:00
Chris Manghane
6122336c83 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
2014-05-06 13:50:01 +00:00
Jan-Benedict Glaw
3134fb1943 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
2014-05-06 13:48:29 +00:00
Richard Biener
3bea341fbd 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
2014-05-06 13:35:40 +00:00
Richard Biener
b15458becf 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
2014-05-06 10:46:18 +00:00
Richard Biener
3d224d46b8 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
2014-05-06 08:30:57 +00:00
Ian Lance Taylor
6f07319115 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
2014-05-06 05:33:31 +00:00