gcc.git
8 years agomsp430.c (msp430_attr): Produce an error if a static interrupt handler is detected.
Nick Clifton [Wed, 25 May 2016 14:31:46 +0000 (14:31 +0000)]
msp430.c (msp430_attr): Produce an error if a static interrupt handler is detected.

* config/msp430/msp430.c (msp430_attr): Produce an error if a
static interrupt handler is detected.
* config/msp430/msp430.h (LIB_SPEC): Do not use msp430.ld as the
default linker script.
* config/msp430/msp430.md (movpsihi2_lo): New pattern for loading
the low part of a symbolic pointer.

From-SVN: r236704

8 years agocrt0.s: Delete.
Nathan Sidwell [Wed, 25 May 2016 12:25:01 +0000 (12:25 +0000)]
crt0.s: Delete.

libgcc/
* config/nvptx/crt0.s: Delete.
* config/nvptx/crt0.c: New.
* t-nvptx: Update.

gcc/testsuite/
* gcc.c-torture/execute/921110-1.c: Fix abort decl.
add missing 2016-05-20  Nathan Sidwell  <nathan@acm.org> entry

From-SVN: r236702

8 years agore PR tree-optimization/71261 (Trunk GCC hangs on knl and broadwell targets)
Richard Biener [Wed, 25 May 2016 11:49:03 +0000 (11:49 +0000)]
re PR tree-optimization/71261 (Trunk GCC hangs on knl and broadwell targets)

2016-05-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71261
* tree-if-conv.c (ifcvt_split_def_stmt): Walk uses on the
interesting stmt instead of immediate uses when looking
for the use operand to replace.

* c-c++-common/torture/pr71261.c: New testcase.

From-SVN: r236701

8 years agoFix dump output typo
Martin Liska [Wed, 25 May 2016 11:17:23 +0000 (13:17 +0200)]
Fix dump output typo

* ipa-inline.c (edge_badness): Use 'w/' instead of 'w'.

From-SVN: r236700

8 years agore PR tree-optimization/71264 (ICE in convert_move)
Richard Biener [Wed, 25 May 2016 10:57:53 +0000 (10:57 +0000)]
re PR tree-optimization/71264 (ICE in convert_move)

2016-05-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71264
* tree-vect-stmts.c (vect_init_vector): Properly deal with
vector type val.

* gcc.dg/vect/pr71264.c: New testcase.

From-SVN: r236699

8 years agore PR c++/55992 (constexpr static member function not recognised in templated using...
Paolo Carlini [Wed, 25 May 2016 09:50:46 +0000 (09:50 +0000)]
re PR c++/55992 (constexpr static member function not recognised in templated using statement)

2016-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55992
* g++.dg/cpp0x/alias-decl-53.C: New.
* g++.dg/cpp0x/alias-decl-54.C: Likewise.

From-SVN: r236698

8 years agoRemove _GLIBCXX14_USE_CONSTEXPR
Jonathan Wakely [Wed, 25 May 2016 09:36:28 +0000 (10:36 +0100)]
Remove _GLIBCXX14_USE_CONSTEXPR

* include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
* include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
Remove const qualification on function. Replace
_GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
(_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
(_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.

From-SVN: r236697

8 years agore PR tree-optimization/71239 (ICE in operand_equal_p (fold-const.c:2769))
Martin Liska [Wed, 25 May 2016 09:10:16 +0000 (11:10 +0200)]
re PR tree-optimization/71239 (ICE in operand_equal_p (fold-const.c:2769))

Fix PR tree-optimization/71239.

* g++.dg/pr71239.C: New test.
PR tree-optimization/71239
* tree.c (array_at_struct_end_p): Do not call operand_equal_p
if DECL_SIZE is NULL.

From-SVN: r236696

8 years agotimevar.def (TV_TREE_LOOP_IFCVT): Add.
Richard Biener [Wed, 25 May 2016 08:52:22 +0000 (08:52 +0000)]
timevar.def (TV_TREE_LOOP_IFCVT): Add.

2016-05-25  Richard Biener  <rguenther@suse.de>

* timevar.def (TV_TREE_LOOP_IFCVT): Add.
* tree-if-conv.c (pass_data_if_conversion): Use it.

From-SVN: r236695

8 years agolambda-generic-static1.C: Use target c++14.
Paolo Carlini [Wed, 25 May 2016 08:49:22 +0000 (08:49 +0000)]
lambda-generic-static1.C: Use target c++14.

2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/lambda-generic-static1.C: Use target c++14.
* g++.dg/cpp1y/lambda-generic-static2.C: Likewise.

From-SVN: r236694

8 years agopr58135.c: Rename to ...
Richard Biener [Wed, 25 May 2016 08:21:35 +0000 (08:21 +0000)]
pr58135.c: Rename to ...

2016-05-25  Richard Biener  <rguenther@suse.de>

* gcc/testsuite/gcc.dg/vect/pr58135.c: Rename to ...
* gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c: ... this.

From-SVN: r236693

8 years agocgraph.c (cgraph_node::get_availability): Fix typo in comment.
Bernd Edlinger [Wed, 25 May 2016 07:38:32 +0000 (07:38 +0000)]
cgraph.c (cgraph_node::get_availability): Fix typo in comment.

* cgraph.c (cgraph_node::get_availability): Fix typo in comment.
* symtab.c (symtab_node::binds_to_current_def_p): Likewise.
* varpool.c (varpool_node::get_availability): Likewise.

From-SVN: r236690

8 years agoDaily bump.
GCC Administrator [Wed, 25 May 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236689

8 years ago* g++.dg/pr65295.C: Use target c++14.
Marek Polacek [Tue, 24 May 2016 23:41:06 +0000 (23:41 +0000)]
* g++.dg/pr65295.C: Use target c++14.

From-SVN: r236683

8 years agoaltivec.md (VNEG iterator): New iterator for VNEGW/VNEGD instructions.
Michael Meissner [Tue, 24 May 2016 23:19:08 +0000 (23:19 +0000)]
altivec.md (VNEG iterator): New iterator for VNEGW/VNEGD instructions.

[gcc]
2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/altivec.md (VNEG iterator): New iterator for
VNEGW/VNEGD instructions.
(p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD.
(neg<mode>2): Add expander for V2DImode added in ISA 2.06, and
support for ISA 3.0 VNEGW/VNEGD instructions.

[gcc/testsuite]
2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-vneg.c: New test for ISA 3.0 VNEGW/VNEGD
instructions.

From-SVN: r236679

8 years agoc-parser.c (c_parser_oacc_declare): Add support for GOMP_MAP_FIRSTPRIVATE_POINTER.
Cesar Philippidis [Tue, 24 May 2016 22:54:21 +0000 (15:54 -0700)]
c-parser.c (c_parser_oacc_declare): Add support for GOMP_MAP_FIRSTPRIVATE_POINTER.

gcc/c/
* c-parser.c (c_parser_oacc_declare): Add support for
GOMP_MAP_FIRSTPRIVATE_POINTER.
* c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp
argument with enum c_omp_region_type ort.
(handle_omp_array_sections): Likewise.  Update call to
handle_omp_array_sections_1.
(c_finish_omp_clauses): Add specific errors and warning messages for
OpenACC.  Use firsrtprivate pointers for OpenACC subarrays.  Update
call to handle_omp_array_sections.

gcc/cp/
* parser.c (cp_parser_oacc_declare): Add support for
GOMP_MAP_FIRSTPRIVATE_POINTER.
* semantics.c (handle_omp_array_sections_1): Replace bool is_omp
argument with enum c_omp_region_type ort.  Don't privatize OpenACC
non-static members.
(handle_omp_array_sections): Replace bool is_omp argument with enum
c_omp_region_type ort.  Update call to handle_omp_array_sections_1.
(finish_omp_clauses): Add specific errors and warning messages for
OpenACC.  Use firsrtprivate pointers for OpenACC subarrays.  Update
call to handle_omp_array_sections.

gcc/
* gimplify.c (omp_notice_variable): Use zero-length arrays for data
pointers inside OACC_DATA regions.
(gimplify_scan_omp_clauses): Prune firstprivate clause associated
with OACC_DATA, OACC_ENTER_DATA and OACC_EXIT data regions.
(gimplify_adjust_omp_clauses): Fix typo in comment.

gcc/testsuite/
* c-c++-common/goacc/data-clause-duplicate-1.c: Adjust test.
* c-c++-common/goacc/deviceptr-1.c: Likewise.
* c-c++-common/goacc/kernels-alias-3.c: Likewise.
* c-c++-common/goacc/kernels-alias-4.c: Likewise.
* c-c++-common/goacc/kernels-alias-5.c: Likewise.
* c-c++-common/goacc/kernels-alias-8.c: Likewise.
* c-c++-common/goacc/kernels-alias-ipa-pta-3.c: Likewise.
* c-c++-common/goacc/pcopy.c: Likewise.
* c-c++-common/goacc/pcopyin.c: Likewise.
* c-c++-common/goacc/pcopyout.c: Likewise.
* c-c++-common/goacc/pcreate.c: Likewise.
* c-c++-common/goacc/pr70688.c: New test.
* c-c++-common/goacc/present-1.c: Adjust test.
* c-c++-common/goacc/reduction-5.c: Likewise.
* g++.dg/goacc/data-1.C: New test.

libgomp/
* oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
(acc_free): Likewise.
(acc_memcpy_to_device): Likewise.
(acc_memcpy_from_device): Likewise.
(acc_deviceptr): Likewise.
(acc_hostptr): Likewise.
(acc_is_present): Likewise.
(acc_map_data): Likewise.
(acc_unmap_data): Likewise.
(present_create_copy): Likewise.
(delete_copyout): Likewise.
(update_dev_host): Likewise.
* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
* testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
it only runs on nvptx targets.
* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.

From-SVN: r236678

8 years agoaltivec.md (VParity): New mode iterator for vector parity built-in functions.
Michael Meissner [Tue, 24 May 2016 22:45:45 +0000 (22:45 +0000)]
altivec.md (VParity): New mode iterator for vector parity built-in functions.

[gcc]
2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/altivec.md (VParity): New mode iterator for vector
parity built-in functions.
(p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing
zeros.
(p9v_parity<mode>2): Likewise.
* config/rs6000/vector.md (VEC_IP): New mode iterator for vector
parity.
(ctz<mode>2): ISA 3.0 expander for vector count trailing zeros.
(parity<mode>2): ISA 3.0 expander for vector parity.
* config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for
power9 built-ins.
(BU_P9_64BIT_MISC_0): Likewise.
(BU_P9_MISC_0): Likewise.
(BU_P9V_AV_1): Likewise.
(BU_P9V_AV_2): Likewise.
(BU_P9V_AV_3): Likewise.
(BU_P9V_AV_P): Likewise.
(BU_P9V_VSX_1): Likewise.
(BU_P9V_OVERLOAD_1): Likewise.
(BU_P9V_OVERLOAD_2): Likewise.
(BU_P9V_OVERLOAD_3): Likewise.
(VCTZB): Add vector count trailing zeros support.
(VCTZH): Likewise.
(VCTZW): Likewise.
(VCTZD): Likewise.
(VPRTYBD): Add vector parity support.
(VPRTYBQ): Likewise.
(VPRTYBW): Likewise.
(VCTZ): Add overloaded vector count trailing zeros support.
(VPRTYB): Add overloaded vector parity support.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
overloaded vector count trailing zeros and parity instructions.
* config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for
vector parity support.
* config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count
trailing zeros support.
(vec_cntlz): Likewise.
(vec_vctzb): Likewise.
(vec_vctzd): Likewise.
(vec_vctzh): Likewise.
(vec_vctzw): Likewise.
(vec_vprtyb): Add ISA 3.0 vector parity support.
(vec_vprtybd): Likewise.
(vec_vprtybw): Likewise.
(vec_vprtybq): Likewise.
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
the ISA 3.0 vector count trailing zeros and vector parity built-in
functions.

[gcc/testsuite]
2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-vparity.c: New file to check ISA 3.0
vector parity built-in functions.
* gcc.target/powerpc/ctz-3.c: New file to check ISA 3.0 vector
count trailing zeros automatic vectorization.
* gcc.target/powerpc/ctz-4.c: New file to check ISA 3.0 vector
count trailing zeros built-in functions.

From-SVN: r236677

8 years agolambda-generic-static1.C: Use target c++14.
Paolo Carlini [Tue, 24 May 2016 22:38:00 +0000 (22:38 +0000)]
lambda-generic-static1.C: Use target c++14.

2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/lambda-generic-static1.C: Use target c++14.
* g++.dg/cpp1y/lambda-generic-static2.C: Likewise.

From-SVN: r236676

8 years agotree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb when there is...
Kugan Vivekanandarajah [Tue, 24 May 2016 22:29:27 +0000 (22:29 +0000)]
tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb when there is stmt_to_insert.

gcc/ChangeLog:

2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>

* tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb
when there is stmt_to_insert.

gcc/testsuite/ChangeLog:

2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>

* gcc.dg/tree-ssa/reassoc-44.c: New test.

From-SVN: r236673

8 years agolhs-1.c: Fix testcase to avoid subreg changes.
Pat Haugen [Tue, 24 May 2016 22:24:16 +0000 (22:24 +0000)]
lhs-1.c: Fix testcase to avoid subreg changes.

* gcc.target/powerpc/lhs-1.c: Fix testcase to avoid subreg changes.

From-SVN: r236672

8 years agore PR c++/50436 (Crash or hang on invalid template code)
Paolo Carlini [Tue, 24 May 2016 21:32:29 +0000 (21:32 +0000)]
re PR c++/50436 (Crash or hang on invalid template code)

2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50436
* g++.dg/template/crash123.C: New.
* g++.dg/template/crash124.C: Likewise.

From-SVN: r236671

8 years agoPR c++/70584 - don't force indirection to an rvalue
Jason Merrill [Tue, 24 May 2016 21:06:53 +0000 (17:06 -0400)]
PR c++/70584 - don't force indirection to an rvalue

* cp-gimplify.c (cp_fold_maybe_rvalue): Loop in case cp_fold
returns a decl.
(cp_fold) [INDIRECT_REF]: Don't fold to an rvalue.

From-SVN: r236670

8 years agoc++config (_GLIBCXX14_USE_CONSTEXPR): New.
François Dumont [Tue, 24 May 2016 20:55:57 +0000 (20:55 +0000)]
c++config (_GLIBCXX14_USE_CONSTEXPR): New.

2016-05-24  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
* include/bits/hashtable_policy.h
(_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
having load factor management.
(_Mask_range_hashing): New.
(__clp2): New.
(_Power2_rehash_policy): New.
(_Inserts<>): Remove last template parameter, _Unique_keys, so that
partial specializations only depend on whether iterators are constant
or not.
* testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
test new hash policy.
* testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
Likewise.
* testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
Likewise.
* testsuite/23_containers/unordered_set/insert/hash_policy.cc:
Likewise.
* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
Likewise.
* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
New.
* testsuite/performance/23_containers/insert/54075.cc: Add benchmark
using the new hash policy.
* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.

From-SVN: r236669

8 years agoPR c++/71147 - [6 Regression] Flexible array member wrongly rejected in template
Martin Sebor [Tue, 24 May 2016 20:29:36 +0000 (20:29 +0000)]
PR c++/71147 - [6 Regression] Flexible array member wrongly rejected in template

gcc/ChangeLog:
2016-05-24  Martin Sebor  <msebor@redhat.com>

PR c++/71147
* gcc/tree.h (complete_or_array_type_p): New inline function.

gcc/testsuite/ChangeLog:
2016-05-24  Martin Sebor  <msebor@redhat.com>

PR c++/71147
* g++.dg/ext/flexary16.C: New test.

gcc/cp/ChangeLog:
2016-05-24  Martin Sebor  <msebor@redhat.com>

PR c++/71147
* decl.c (layout_var_decl, grokdeclarator): Use complete_or_array_type_p.
* pt.c (instantiate_class_template_1): Try to complete the element
type of a flexible array member.
(can_complete_type_without_circularity): Handle arrays of unknown bound.
* typeck.c (complete_type): Also complete the type of the elements of
arrays with an unspecified bound.

From-SVN: r236664

8 years agoi386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
Jakub Jelinek [Tue, 24 May 2016 19:12:42 +0000 (21:12 +0200)]
i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.

* config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
* config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES
rather than X86_TUNE_AVOID_4BYTE_PREFIXES.

From-SVN: r236662

8 years agosse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>): Limit 1st alternative to noavx...
Jakub Jelinek [Tue, 24 May 2016 19:12:06 +0000 (21:12 +0200)]
sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>): Limit 1st alternative to noavx isa...

* config/i386/sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>):
Limit 1st alternative to noavx isa, split 2nd alternative into one
noavx and one avx alternative, use *x and Bm in the former and
x and m in the latter.

From-SVN: r236661

8 years agosse.md (vec_set<mode>_0): Use sse4_noavx isa instead of sse4 for the first alternative...
Jakub Jelinek [Tue, 24 May 2016 19:11:33 +0000 (21:11 +0200)]
sse.md (vec_set<mode>_0): Use sse4_noavx isa instead of sse4 for the first alternative...

* config/i386/sse.md (vec_set<mode>_0): Use sse4_noavx isa instead
of sse4 for the first alternative, drop %v from the template
and d operand modifier.  Split second alternative into one sse4_noavx
and one avx alternative, use *x instead of *v in the former and v
instead of *v in the latter.
(*sse4_1_extractps): Use noavx isa instead of * for the first
alternative, drop %v from the template.  Split second alternative into
one noavx and one avx alternative, use *x instead of *v in the
former and v instead of *v in the latter.
(<vi8_sse4_1_avx2_avx512>_movntdqa): Guard the first 2 alternatives
with noavx and the last one with avx.
(sse4_1_phminposuw): Guard first alternative with noavx isa,
split the second one into one noavx and one avx alternative,
use *x and Bm in the former and x and m in the latter one.
(<sse4_1>_ptest<mode>): Use noavx instead of * for the first two
alternatives.

From-SVN: r236660

8 years agosse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit first two alternatives to noavx...
Jakub Jelinek [Tue, 24 May 2016 19:10:55 +0000 (21:10 +0200)]
sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit first two alternatives to noavx...

* config/i386/sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit
first two alternatives to noavx, use *x instead of *v in the second
one, add avx alternative without *.
(sse4_1_<code>v4qiv4si2<mask_name>, sse4_1_<code>v4hiv4si2<mask_name>,
sse4_1_<code>v2qiv2di2<mask_name>, sse4_1_<code>v2hiv2di2<mask_name>,
sse4_1_<code>v2siv2di2<mask_name>): Likewise.

From-SVN: r236659

8 years agoavx-ceil-sfix-2-vec.c: Define __NO_MATH_INLINES before math.h is included.
Ilya Verbin [Tue, 24 May 2016 17:35:17 +0000 (17:35 +0000)]
avx-ceil-sfix-2-vec.c: Define __NO_MATH_INLINES before math.h is included.

* gcc.target/i386/avx-ceil-sfix-2-vec.c: Define __NO_MATH_INLINES before
math.h is included.
* gcc.target/i386/avx-floor-sfix-2-vec.c: Likewise.
* gcc.target/i386/avx-rint-sfix-2-vec.c: Likewise.
* gcc.target/i386/avx-round-sfix-2-vec.c: Likewise.
* gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise.
* gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise.
* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-ceil-vec.c: Likewise.
* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-ceilf-vec.c: Likewise.
* gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-floor-vec.c: Likewise.
* gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-rint-vec.c: Likewise.
* gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-rintf-vec.c: Likewise.
* gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-round-vec.c: Likewise.
* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-roundf-vec.c: Likewise.
* gcc.target/i386/sse4_1-trunc-vec.c: Likewise.
* gcc.target/i386/sse4_1-truncf-vec.c: Likewise.
* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-floorf-vec.c: Likewise.

From-SVN: r236656

8 years agop9-vpermr.c: New test for ISA 3.0 vpermr support.
Michael Meissner [Tue, 24 May 2016 17:21:18 +0000 (17:21 +0000)]
p9-vpermr.c: New test for ISA 3.0 vpermr support.

gcc/testsuite/ChangeLog:

2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/p9-vpermr.c: New test for ISA 3.0 vpermr
support.

Co-Authored-By: Kelvin Nilsen <kelvin@gcc.gnu.org>
From-SVN: r236655

8 years agotree-ssa-threadbackwards.c (convert_and_register_jump_thread_path): New function...
Jeff Law [Tue, 24 May 2016 16:57:48 +0000 (10:57 -0600)]
tree-ssa-threadbackwards.c (convert_and_register_jump_thread_path): New function, extracted from...

* tree-ssa-threadbackwards.c (convert_and_register_jump_thread_path):
New function, extracted from...
(fsm_find_control_statement_thread_paths): Here.  Use the new function.
Allow simple copies and constant initializations in the SSA chain.

From-SVN: r236653

8 years agore PR c++/69872 (-Wnarrowing note without warning/errror)
Paolo Carlini [Tue, 24 May 2016 16:41:39 +0000 (16:41 +0000)]
re PR c++/69872 (-Wnarrowing note without warning/errror)

/cp
2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/69872
* typeck2.c (check_narrowing): Check pedwarn return value.

/testsuite
2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/69872
* g++.dg/warn/Wno-narrowing1.C: New.

From-SVN: r236651

8 years agore PR middle-end/71249 (-Wswitch-unreachable false positive for a compound statement...
Marek Polacek [Tue, 24 May 2016 16:22:31 +0000 (16:22 +0000)]
re PR middle-end/71249 (-Wswitch-unreachable false positive for a compound statement containing a used label)

PR c/71249
* gimplify.c (gimplify_switch_expr): Look into the innermost lexical
scope.

* c-c++-common/Wswitch-unreachable-2.c: New test.

From-SVN: r236649

8 years agore PR c++/71257 (OpenMP declare simd linear with ref modifier doesn't accept referenc...
Jakub Jelinek [Tue, 24 May 2016 16:19:43 +0000 (18:19 +0200)]
re PR c++/71257 (OpenMP declare simd linear with ref modifier doesn't accept references to non-integer/non-pointer)

PR c++/71257
* tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.  Add
SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and
SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly.

* semantics.c (finish_omp_clauses) <case OMP_CLAUSE_LINEAR>:
For OMP_CLAUSE_LINEAR_REF don't require type to be
integral or pointer.

* g++.dg/vect/simd-clone-6.cc: New test.
* g++.dg/gomp/declare-simd-6.C: New test.

From-SVN: r236648

8 years agore PR middle-end/70434 (adding an extraneous cast to vector type results in inferior...
Jakub Jelinek [Tue, 24 May 2016 16:14:34 +0000 (18:14 +0200)]
re PR middle-end/70434 (adding an extraneous cast to vector type results in inferior code)

PR middle-end/70434
PR c/69504
* c-c++-common/vector-subscript-5.c (foo): Move ; out of the ifdef.

From-SVN: r236647

8 years agoAdd priority_queue::value_compare (LWG 2684)
Jonathan Wakely [Tue, 24 May 2016 15:59:05 +0000 (16:59 +0100)]
Add priority_queue::value_compare (LWG 2684)

* include/bits/stl_queue.h (priority_queue::value_compare): Define.

From-SVN: r236646

8 years agoi386.c (ix86_preferred_reload_class): Use IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS...
Uros Bizjak [Tue, 24 May 2016 15:42:17 +0000 (17:42 +0200)]
i386.c (ix86_preferred_reload_class): Use IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros.

* config/i386/i386.c (ix86_preferred_reload_class): Use
IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros.

From-SVN: r236645

8 years agore PR tree-optimization/71240 (ICE on valid code at -O2 and above on x86_64-linux...
Richard Biener [Tue, 24 May 2016 14:40:35 +0000 (14:40 +0000)]
re PR tree-optimization/71240 (ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed)

2016-05-24  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71240
* tree-ssa-math-opts.c (init_symbolic_number): Verify the source
has integral type.

* gcc.dg/optimize-bswapsi-5.c: New testcase.

From-SVN: r236644

8 years agore PR tree-optimization/71230 (ICE : in zero_one_operation, at tree-ssa-reassoc.c...
Richard Biener [Tue, 24 May 2016 14:35:36 +0000 (14:35 +0000)]
re PR tree-optimization/71230 (ICE : in zero_one_operation, at tree-ssa-reassoc.c:1230)

2016-05-24  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71230
* tree-ssa-reassoc.c (zero_one_operation): Handle negate special ops.

* gcc.dg/torture/pr71230.c: New testcase.
* g++.dg/torture/pr71230.C: Likewise.

From-SVN: r236643

8 years agoClean up PURE_SLP_STMT handling
Richard Sandiford [Tue, 24 May 2016 14:05:20 +0000 (14:05 +0000)]
Clean up PURE_SLP_STMT handling

The vectorizable_* routines had many instances of:

        slp_node || PURE_SLP_STMT (stmt_info)

which gives the misleading impression that we can have
!slp_node && PURE_SLP_STMT (stmt_info).  In this context
it's really enough to test slp_node on its own.

There are three cases:

      loop vectorisation only:
        vectorizable_foo called only with !slp_node

      pure SLP:
        vectorizable_foo called only with slp_node

      hybrid SLP:
        (e.g. a vector that's used in SLP statements and also in a reduction)
        - vectorizable_foo called once with slp_node for the SLP uses.
        - vectorizable_foo called once with !slp_node for the non-SLP uses.

Hybrid SLP isn't possible for stores, so I added an explicit assert
for that.

I also made vectorizable_comparison static, to make it obvious that
no other callers outside tree-vect-stmts.c could use it with the
!slp && PURE_SLP_STMT combination.

Tested on aarch64-linux-gnu and x86_64-linux-gnu.

gcc/
* tree-vectorizer.h (vectorizable_comparison): Delete.
* tree-vect-loop.c (vectorizable_reduction): Remove redundant
PURE_SLP_STMT check.
* tree-vect-stmts.c (vectorizable_call): Likewise.
(vectorizable_simd_clone_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_load): Likewise.
(vectorizable_condition): Likewise.
(vectorizable_store): Likewise.  Assert that we don't have
hybrid SLP.
(vectorizable_comparison): Make static.  Remove redundant
PURE_SLP_STMT check.
(vect_transform_stmt): Assert that we always have an slp_node
if PURE_SLP_STMT.

From-SVN: r236642

8 years ago[ARM][4/4] Simplify checks for CONST_INT_P and comparison against 1/0
Kyrylo Tkachov [Tue, 24 May 2016 14:04:03 +0000 (14:04 +0000)]
[ARM][4/4] Simplify checks for CONST_INT_P and comparison against 1/0

* config/arm/neon.md (ashldi3_neon):  Replace comparison of INTVAL of
operands[2] against 1 with comparison against CONST1_RTX.
(<shift>di3_neon): Likewise.
* config/arm/predicates.md (const0_operand): Replace with comparison
against CONST0_RTX.

From-SVN: r236641

8 years ago[ARM][3/4] Cleanup casts from INTVAL to [unsigned] HOST_WIDE_INT
Kyrylo Tkachov [Tue, 24 May 2016 14:00:39 +0000 (14:00 +0000)]
[ARM][3/4] Cleanup casts from INTVAL to [unsigned] HOST_WIDE_INT

* config/arm/arm.md (ashldi3): Replace comparison of INTVAL of
operands[2] against 1 with comparison against CONST1_RTX.
(ashrdi3): Likewise.
(lshrdi3): Likewise.
(ashlsi3): Replace cast of INTVAL to unsigned HOST_WIDE_INT with
UINTVAL.
(ashrsi3): Likewise.
(lshrsi3): Likewise.
(rotrsi3): Likewise.
(define_split above *compareqi_eq0): Likewise.
(define_split above "prologue"): Likewise.
* config/arm/arm.c (thumb1_size_rtx_costs): Likewise.
* config/arm/predicates.md (shift_operator): Likewise.
(shift_nomul_operator): Likewise.
(sat_shift_operator): Likewise.
(thumb1_cmp_operand): Likewise.
(const_neon_scalar_shift_amount_operand): Replace manual range
check with IN_RANGE.
* config/arm/thumb1.md (define_peephole2 above *thumb_subdi3):
Replace cast of INTVAL to unsigned HOST_WIDE_INT with UINTVAL.

From-SVN: r236640

8 years agoTighten syntax checking for OpenACC routine construct in C
Thomas Schwinge [Tue, 24 May 2016 14:00:39 +0000 (16:00 +0200)]
Tighten syntax checking for OpenACC routine construct in C

gcc/c/
* c-parser.c (c_parser_oacc_routine): Tighten syntax checks.
gcc/testsuite/
* c-c++-common/goacc/routine-5.c: Add tests.
* g++.dg/goacc/routine-2.C: Remove duplicate tests.
* gfortran.dg/goacc/routine-6.f90: Add tests.

From-SVN: r236639

8 years ago[ARM][2/4] Replace casts of 1 to HOST_WIDE_INT by HOST_WIDE_INT_1 and HOST_WIDE_INT_1U
Kyrylo Tkachov [Tue, 24 May 2016 13:55:19 +0000 (13:55 +0000)]
[ARM][2/4] Replace casts of 1 to HOST_WIDE_INT by HOST_WIDE_INT_1 and HOST_WIDE_INT_1U

* config/arm/arm.md (andsi3): Replace cast of 1 to HOST_WIDE_INT
with HOST_WIDE_INT_1.
(insv): Likewise.
* config/arm/arm.c (optimal_immediate_sequence): Replace cast of
1 to unsigned HOST_WIDE_INT with HOST_WIDE_INT_1U.
(arm_canonicalize_comparison): Likewise.
(thumb1_rtx_costs): Replace cast of 1 to HOST_WIDE_INT with
HOST_WIDE_INT_1.
(thumb1_size_rtx_costs): Likewise.
(vfp_const_double_index): Replace cast of 1 to unsigned
HOST_WIDE_INT with HOST_WIDE_INT_1U.
(get_jump_table_size): Replace cast of 1 to HOST_WIDE_INT with
HOST_WIDE_INT_1.
(arm_asan_shadow_offset): Replace cast of 1 to unsigned
HOST_WIDE_INT with HOST_WIDE_INT_1U.
* config/arm/neon.md (vec_set<mode>): Replace cast of 1 to
HOST_WIDE_INT with HOST_WIDE_INT_1.

From-SVN: r236638

8 years agotree-cfg.h (should_remove_lhs_p): New predicate.
Marek Polacek [Tue, 24 May 2016 13:34:37 +0000 (13:34 +0000)]
tree-cfg.h (should_remove_lhs_p): New predicate.

* tree-cfg.h (should_remove_lhs_p): New predicate.
* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
* gimplify.c (gimplify_modify_expr): Likewise.
* tree-cfg.c (verify_gimple_call): Likewise.
* tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
* gimple-fold.c: Include "tree-cfg.h".
(gimple_fold_call): Use should_remove_lhs_p.

From-SVN: r236637

8 years agore PR tree-optimization/71253 (ICE during loop distribution w/ -O2 -ftree-loop-distri...
Richard Biener [Tue, 24 May 2016 12:40:01 +0000 (12:40 +0000)]
re PR tree-optimization/71253 (ICE during loop distribution w/ -O2 -ftree-loop-distribution)

2016-05-24  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71253
* cfganal.h (control_dependences): Make robust against edge
and BB removal.
(control_dependences::control_dependences): Remove edge_list argument.
(control_dependences::get_edge): Remove.
(control_dependences::get_edge_src): Add.
(control_dependences::get_edge_dest): Likewise.
(control_dependences::m_el): Make a vector of edge src/dest index.
* cfganal.c (control_dependences::find_control_dependence): Adjust.
(control_dependences::control_dependences): Likewise.
(control_dependences::~control_dependence): Likewise.
(control_dependences::get_edge): Remove.
(control_dependences::get_edge_src): Add.
(control_dependences::get_edge_dest): Likewise.
* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Use
get_edge_src.
(perform_tree_ssa_dce): Adjust.
* tree-loop-distribution.c (create_edge_for_control_dependence): Use
get_edge_src.
(pass_loop_distribution::execute): Adjust.  Do loop destroying
conditional on changed.

* gcc.dg/torture/pr71253.c: New testcase.

From-SVN: r236636

8 years ago[ARM] PR target/69857 Remove bogus early return false; in gen_operands_ldrd_strd
Kyrylo Tkachov [Tue, 24 May 2016 11:32:35 +0000 (11:32 +0000)]
[ARM] PR target/69857 Remove bogus early return false; in gen_operands_ldrd_strd

PR target/69857
* config/arm/arm.c (gen_operands_ldrd_strd): Remove bogus early
return.  Reindent transformation comment and mention the ARM state
behavior.

From-SVN: r236635

8 years agore PR tree-optimization/71252 (ICE: verify_ssa failed : definition in block 7 does...
Kugan Vivekanandarajah [Tue, 24 May 2016 10:50:01 +0000 (10:50 +0000)]
re PR tree-optimization/71252 (ICE: verify_ssa failed : definition in block 7 does not dominate use in block 6)

gcc/testsuite/ChangeLog:

2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71252
* gfortran.dg/pr71252.f90: New test.

gcc/ChangeLog:

2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71252
* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Add stmt_to_insert after
build_and_add_sum creates new use stmt.

From-SVN: r236634

8 years agoAvoid unnecessary peeling for gaps with LD3
Richard Sandiford [Tue, 24 May 2016 10:15:36 +0000 (10:15 +0000)]
Avoid unnecessary peeling for gaps with LD3

vectorizable_load forces peeling for gaps if the vectorisation factor
is not a multiple of the group size, since in that case we'd normally load
beyond the original scalar accesses but drop the excess elements as part
of a following permute:

          if (loop_vinfo
              && ! STMT_VINFO_STRIDED_P (stmt_info)
              && (GROUP_GAP (vinfo_for_stmt (first_stmt)) != 0
                  || (!slp && vf % GROUP_SIZE (vinfo_for_stmt (first_stmt)) != 0)))

This isn't necessary for LOAD_LANES though, since it loads only the
data needed and does the permute itself.

Tested on aarch64-linux-gnu and x86_64-linux-gnu.

gcc/
* tree-vect-stmts.c (vectorizable_load): Reorder checks so that
load_lanes/grouped_load classification comes first.  Don't check
whether the vectorization factor is a multiple of the group size
for load_lanes.

gcc/testsuite/
* gcc.dg/vect/vect-load-lanes-peeling-1.c: New test.

From-SVN: r236632

8 years agoFix GROUP_GAP for single-element interleaving
Richard Sandiford [Tue, 24 May 2016 10:13:35 +0000 (10:13 +0000)]
Fix GROUP_GAP for single-element interleaving

vectorizable_load had a curious "force_peeling" variable, with no
comment explaining why we need it for single-element interleaving
but not for other cases.  I think it's simply because we weren't
initialising the GROUP_GAP correctly for single loads.

Tested on aarch64-linux-gnu and x86_64-linux-gnu.

gcc/
* tree-vect-data-refs.c (vect_analyze_group_access_1): Set
GROUP_GAP for single-element interleaving.
* tree-vect-stmts.c (vectorizable_load): Remove force_peeling
variable.

From-SVN: r236631

8 years agore PR middle-end/70434 (adding an extraneous cast to vector type results in inferior...
Richard Biener [Tue, 24 May 2016 07:55:56 +0000 (07:55 +0000)]
re PR middle-end/70434 (adding an extraneous cast to vector type results in inferior code)

2016-05-24  Richard Biener  <rguenther@suse.de>

PR middle-end/70434
PR c/69504
c-family/
* c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
(convert_vector_to_array_for_subscript): ... this.
* c-common.c (convert_vector_to_pointer_for_subscript): Use a
VIEW_CONVERT_EXPR to an array type.  Rename to ...
(convert_vector_to_array_for_subscript): ... this.

cp/
* expr.c (mark_exp_read): Handle VIEW_CONVERT_EXPR.
* constexpr.c (cxx_eval_array_reference): Handle indexed
vectors.
* typeck.c (cp_build_array_ref): Adjust.

c/
* c-typeck.c (build_array_ref): Do not complain about indexing
non-lvalue vectors.  Adjust for function name change.

* tree-ssa.c (non_rewritable_mem_ref_base): Make sure to mark
bases which are accessed with non-invariant indices.
* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Re-write
constant index ARRAY_REFs of vectors into BIT_FIELD_REFs.

* c-c++-common/vector-subscript-4.c: New testcase.
* c-c++-common/vector-subscript-5.c: Likewise.

From-SVN: r236630

8 years agore PR libfortran/71123 (Namelist read failure on Windows)
Jerry DeLisle [Tue, 24 May 2016 06:16:00 +0000 (06:16 +0000)]
re PR libfortran/71123 (Namelist read failure on Windows)

2016-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/71123
* io/list_read (eat_spaces): Eat '\r' as part of spaces.
        fix change log

From-SVN: r236629

8 years agore PR libfortran/70684 (incorrect reading of values from file on Windows)
Jerry DeLisle [Tue, 24 May 2016 06:11:21 +0000 (06:11 +0000)]
re PR libfortran/70684 (incorrect reading of values from file on Windows)

2016-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/70684
* io/list_read (eat_spaces): Eat '\r' as part of spaces.

* gfortran.dg/namelist_90.f: New test

From-SVN: r236628

8 years agore PR fortran/66461 (ICE on missing end program in fixed source)
Jerry DeLisle [Tue, 24 May 2016 04:15:39 +0000 (04:15 +0000)]
re PR fortran/66461 (ICE on missing end program in fixed source)

2016-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/66461
* scanner.c (gfc_next_char_literal): Clear end_flag when adjusting
current locus back to old_locus.

* gfortran.dg/unexpected_eof.f: New test

From-SVN: r236627

8 years agoPR c++/70344 - ICE with recursive constexpr
Jason Merrill [Tue, 24 May 2016 03:34:55 +0000 (23:34 -0400)]
PR c++/70344 - ICE with recursive constexpr

* constexpr.c (cxx_eval_call_expression): Check for
fun == current_function_decl again.

From-SVN: r236625

8 years agoDaily bump.
GCC Administrator [Tue, 24 May 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236623

8 years agore PR tree-optimization/71170 (ICE in rewrite_expr_tree, at tree-ssa-reassoc.c:3898)
Kugan Vivekanandarajah [Tue, 24 May 2016 00:14:13 +0000 (00:14 +0000)]
re PR tree-optimization/71170 (ICE in rewrite_expr_tree, at tree-ssa-reassoc.c:3898)

gcc/ChangeLog:

2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71170
* tree-ssa-reassoc.c (struct operand_entry): Add field stmt_to_insert.
(add_to_ops_vec): Add stmt_to_insert.
(add_repeat_to_ops_vec): Init stmt_to_insert.
(insert_stmt_before_use): New.
(transform_add_to_multiply): Remove mult_stmt insertion and add it to ops vector.
(get_ops): Init stmt_to_insert.
(maybe_optimize_range_tests): Likewise.
(rewrite_expr_tree): Insert stmt_to_insert before use stmt.
(rewrite_expr_tree_parallel): Likewise.
(reassociate_bb): Likewise.

From-SVN: r236619

8 years agore PR target/71201 (PowerPC XXPERM instruction fails on ISA 3.0 system.)
Michael Meissner [Mon, 23 May 2016 23:42:52 +0000 (23:42 +0000)]
re PR target/71201 (PowerPC XXPERM instruction fails on ISA 3.0 system.)

[gcc]
2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71201
* config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop
ISA 3.0 xxperm fusion alternative.
(altivec_vperm_v8hiv16qi): Likewise.
(altivec_vperm_<mode>_uns_internal): Likewise.
(vperm_v8hiv4si): Likewise.
(vperm_v16qiv8hi): Likewise.

[gcc/testsuite]
2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/p9-permute.c: Run test on big endian as well
as little endian.

[gcc]
2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate
vpermr/xxpermr on ISA 3.0.
(altivec_expand_vec_perm_le): Likewise.
* config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec.
(altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for
ISA 3.0.

Co-Authored-By: Kelvin Nilsen <kelvin@gcc.gnu.org>
From-SVN: r236617

8 years agoPR c++/70584 - error with parenthesized builtin arg
Jason Merrill [Mon, 23 May 2016 21:21:24 +0000 (17:21 -0400)]
PR c++/70584 - error with parenthesized builtin arg

* cp-gimplify.c (cp_fold) [INDIRECT_REF]: Call
maybe_undo_parenthesized_ref.

From-SVN: r236616

8 years agoPR c++/70735 - generic lambda and local static variable
Jason Merrill [Mon, 23 May 2016 21:21:18 +0000 (17:21 -0400)]
PR c++/70735 - generic lambda and local static variable

* pt.c (tsubst_copy): Just return a local variable from
non-template context.  Don't call rest_of_decl_compilation for
duplicated static locals.
(tsubst_decl): Set DECL_CONTEXT of local static from another
function.

From-SVN: r236615

8 years agore PR c++/70972 (Inheriting constructors taking parameters by value should move them...
Paolo Carlini [Mon, 23 May 2016 20:50:10 +0000 (20:50 +0000)]
re PR c++/70972 (Inheriting constructors taking parameters by value should move them, not copy)

/cp
2016-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70972
* method.c (forward_parm): Use cp_build_reference_type.

/testsuite
2016-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70972
* g++.dg/cpp0x/inh-ctor20.C: New.
* g++.dg/cpp0x/inh-ctor21.C: Likewise.

From-SVN: r236614

8 years ago2016-05-23 François Dumont <fdumont@gcc.gnu.org>
François Dumont [Mon, 23 May 2016 20:03:35 +0000 (20:03 +0000)]
2016-05-23  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/safe_iterator.h
(_Safe_iterator<>::operator->()): Implement using underlying iterator
operator ->.
* include/debug/safe_local_iterator.h
(_Safe_local_iterator<>::operator->()): Likewise.

From-SVN: r236611

8 years agore PR c++/69095 (internal compiler error: in dependent_type_p, at cp/pt.c:19399)
Paolo Carlini [Mon, 23 May 2016 19:24:22 +0000 (19:24 +0000)]
re PR c++/69095 (internal compiler error: in dependent_type_p, at cp/pt.c:19399)

/cp
2016-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/69095
* parser.c (cp_parser_default_argument): Call
check_for_bare_parameter_packs.
(cp_parser_late_parsing_default_args): Likewise.

/testsuite
2016-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/69095
* g++.dg/cpp0x/variadic168.C: New.

From-SVN: r236610

8 years agopt.c (check_for_bare_parameter_packs): Improve error message location for expressions.
Paolo Carlini [Mon, 23 May 2016 19:20:41 +0000 (19:20 +0000)]
pt.c (check_for_bare_parameter_packs): Improve error message location for expressions.

/cp
2016-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (check_for_bare_parameter_packs): Improve error message
location for expressions.

/testsuite
2016-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/pr31445.C: Test column number too.
* g++.dg/cpp0x/pr32253.C: Likewise.
* g++.dg/cpp0x/variadic-ex13.C: Likewise.
* g++.dg/cpp0x/variadic36.C: Likewise.

From-SVN: r236609

8 years agoi386.h (IS_STACK_MODE): Enable for TARGET_MIX_SSE_I387.
Uros Bizjak [Mon, 23 May 2016 18:59:38 +0000 (20:59 +0200)]
i386.h (IS_STACK_MODE): Enable for TARGET_MIX_SSE_I387.

* config/i386/i386.h (IS_STACK_MODE): Enable for
TARGET_MIX_SSE_I387.  Rewrite using X87_FLOAT_MODE_P and
SSE_FLOAT_MODE_P macros.
* config/i386/i386.c (ix86_preferred_reload_class): Use
IS_STACK_MODE, INTEGER_CLASS_P and FLOAT_CLASS_P macros.  Cleanup
regclass processing for CONST_DOUBLE_P.
(ix86_preferred_output_reload_class): Use IS_STACK_MODE macro.
(ix86_rtx_costs): Remove redundant TARGET_80387 check
with IS_STACK_MODE macro.
* config/i386/i386.md: Replace SSE_FLOAT_MODE_P (DFmode)
with TARGET_SSE2.
(*movdf_internal): Use IS_STACK_MODE macro.
(*movsf_internal): Ditto.

From-SVN: r236607

8 years agomatch.pd: Relax some tree_nop_conversion_p
Marc Glisse [Mon, 23 May 2016 17:49:10 +0000 (19:49 +0200)]
match.pd: Relax some tree_nop_conversion_p

2016-05-23  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (a * (1 << b), ~x & ~y, ~X ^ ~Y, (X ^ Y) ^ Y, ~ (-A),
~ (A - 1), ~(~X >> Y), ~(~X >>r Y)): Relax constraints.

gcc/testsuite/
* gcc.dg/fold-notshift-2.c: Adjust.

From-SVN: r236601

8 years agotree-ssa-threadbackward.c (profitable_jump_thread_path): New function extracted from ...
Jeff Law [Mon, 23 May 2016 16:59:29 +0000 (10:59 -0600)]
tree-ssa-threadbackward.c (profitable_jump_thread_path): New function extracted from ...

* tree-ssa-threadbackward.c (profitable_jump_thread_path): New function
extracted from ...
(fsm_find_control_statement_thread_paths): Call it.

From-SVN: r236599

8 years ago[PR 71234] Avoid valgrind warning in ipa-cp
Martin Jambor [Mon, 23 May 2016 16:31:14 +0000 (18:31 +0200)]
[PR 71234] Avoid valgrind warning in ipa-cp

2016-05-23  Martin Jambor  <mjambor@suse.cz>

PR ipa/71234
* ipa-cp.c (ipa_get_indirect_edge_target_1): Only check value of
from_global_constant if t is not NULL.

From-SVN: r236598

8 years agore PR c/49859 (gcc could warn about statements between "switch" and first "case")
Marek Polacek [Mon, 23 May 2016 15:37:09 +0000 (15:37 +0000)]
re PR c/49859 (gcc could warn about statements between "switch" and first "case")

PR c/49859
* common.opt (Wswitch-unreachable): New option.
* doc/invoke.texi: Document -Wswitch-unreachable.
* gimplify.c (gimplify_switch_expr): Implement the -Wswitch-unreachable
warning.

* c-c++-common/Wswitch-unreachable-1.c: New test.
* gcc.dg/Wswitch-unreachable-1.c: New test.
* c-c++-common/goacc/sb-2.c (void foo): Add dg-warning.
* g++.dg/cpp0x/lambda/lambda-switch.C (main): Likewise.
* g++.dg/gomp/block-10.C: Likewise.
* gcc.dg/gomp/block-10.c: Likewise.
* g++.dg/gomp/block-9.C: Likewise.
* gcc.dg/gomp/block-9.c: Likewise.
* g++.dg/gomp/target-1.C: Likewise.
* g++.dg/gomp/target-2.C: Likewise.
* gcc.dg/gomp/target-1.c: Likewise.
* gcc.dg/gomp/target-2.c: Likewise.
* g++.dg/gomp/taskgroup-1.C: Likewise.
* gcc.dg/gomp/taskgroup-1.c: Likewise.
* gcc.dg/gomp/teams-1.c: Likewise.
* g++.dg/gomp/teams-1.C: Likewise.
* g++.dg/overload/error3.C: Likewise.
* g++.dg/tm/jump1.C: Likewise.
* g++.dg/torture/pr40335.C: Likewise.
* gcc.dg/c99-vla-jump-5.c: Likewise.
* gcc.dg/switch-warn-1.c: Likewise.
* gcc.dg/Wjump-misses-init-1.c: Use -Wno-switch-unreachable.
* gcc.dg/nested-func-1.c: Likewise.
* gcc.dg/pr67784-4.c: Likewise.

From-SVN: r236597

8 years ago[PR libffi/65567] libffi: Fix, and simply libffi_feature_test
Thomas Schwinge [Mon, 23 May 2016 14:54:04 +0000 (16:54 +0200)]
[PR libffi/65567] libffi: Fix, and simply libffi_feature_test

libffi/
PR libffi/65567
* testsuite/lib/libffi.exp (libffi_feature_test): Fix, and simply.

From-SVN: r236594

8 years agotree-ssa-address.c (copy_ref_info): Check NULL TMR_STEP when TMR_INDEX is non-NULL.
Bin Cheng [Mon, 23 May 2016 14:44:07 +0000 (14:44 +0000)]
tree-ssa-address.c (copy_ref_info): Check NULL TMR_STEP when TMR_INDEX is non-NULL.

* tree-ssa-address.c (copy_ref_info): Check NULL TMR_STEP when
TMR_INDEX is non-NULL.

From-SVN: r236593

8 years agore PR tree-optimization/71230 (ICE : in zero_one_operation, at tree-ssa-reassoc.c...
Richard Biener [Mon, 23 May 2016 14:09:35 +0000 (14:09 +0000)]
re PR tree-optimization/71230 (ICE : in zero_one_operation, at tree-ssa-reassoc.c:1230)

2016-05-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71230
* tree-ssa-reassoc.c (acceptable_pow_call): Move initial condition...
(try_special_add_to_ops): ... here.  Always test for single-use.

* gfortran.dg/pr71230-1.f90: New testcase.
* gfortran.dg/pr71230-2.f90: Likewise.

From-SVN: r236591

8 years ago[hsa] Avoid segfault in hsa switch expansion
Martin Jambor [Mon, 23 May 2016 11:45:13 +0000 (13:45 +0200)]
[hsa] Avoid segfault in hsa switch expansion

2016-05-23  Martin Jambor  <mjambor@suse.cz>

* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Create an empty
default block if a PHI node in the original one would be resized.

libgomp/
* testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.

From-SVN: r236585

8 years agore PR tree-optimization/58135 ([x86] Missed opportunities for partial SLP)
Venkataramanan Kumar [Mon, 23 May 2016 09:48:54 +0000 (09:48 +0000)]
re PR tree-optimization/58135 ([x86] Missed opportunities for partial SLP)

Fix PR58135.

2016-05-23  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

PR tree-optimization/58135
* tree-vect-slp.c: When group size is not multiple
of vector size, allow splitting of store group at
vector boundary.

2016-05-23  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

* gcc.dg/vect/bb-slp-19.c:  Remove XFAIL.
* gcc.dg/vect/pr58135.c:  Add new.
* gfortran.dg/pr46519-1.f: Adjust test case.

From-SVN: r236582

8 years agore PR c++/53401 ([C++11] internal compiler error: Segmentation fault on infinite...
Paolo Carlini [Mon, 23 May 2016 09:23:42 +0000 (09:23 +0000)]
re PR c++/53401 ([C++11] internal compiler error: Segmentation fault on infinite argument deduction of constexpr templates)

2016-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53401
* g++.dg/cpp0x/decltype64.C: New.

From-SVN: r236581

8 years ago[ARM, AArch64] Add missing tests for vreinterpret, operating of fp16 type.
Christophe Lyon [Mon, 23 May 2016 09:16:12 +0000 (09:16 +0000)]
[ARM, AArch64] Add missing tests for vreinterpret, operating of fp16 type.

2016-05-23  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add fp16 tests.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c: Likewise.

From-SVN: r236580

8 years ago[ARM, AArch64] Add missing tests for intrinsics operating on poly64 and poly128 types.
Christophe Lyon [Mon, 23 May 2016 09:14:37 +0000 (09:14 +0000)]
[ARM, AArch64] Add missing tests for intrinsics operating on poly64 and poly128 types.

2016-05-23  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (result):
Add poly64x1_t and poly64x2_t cases if supported.
* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h
(buffer, buffer_pad, buffer_dup, buffer_dup_pad): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c: New file.

From-SVN: r236579

8 years ago[ARM, AArch64] Add missing vrnd{,a,m,n,p,x} tests.
Christophe Lyon [Mon, 23 May 2016 09:05:34 +0000 (09:05 +0000)]
[ARM, AArch64] Add missing vrnd{,a,m,n,p,x} tests.

2016-05-23  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vrnd.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: New.
* gcc.target/aarch64/advsimd-intrinsics/vrnda.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndm.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndn.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndp.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndx.c: New.

From-SVN: r236578

8 years ago[ARM, AArch64] Add missing vstX_lane fp16 tests.
Christophe Lyon [Mon, 23 May 2016 09:02:51 +0000 (09:02 +0000)]
[ARM, AArch64] Add missing vstX_lane fp16 tests.

2016-05-23  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Add fp16 tests.

From-SVN: r236577

8 years ago[ARM, AArch64] Add missing vtst_p16 and vtstq_p16, and vtst_p{8,16} and vtstq_p{8...
Christophe Lyon [Mon, 23 May 2016 08:59:26 +0000 (08:59 +0000)]
[ARM, AArch64] Add missing vtst_p16 and vtstq_p16, and vtst_p{8,16} and vtstq_p{8,16} tests.

2016-05-23  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* config/arm/arm_neon.h (vtst_p16, vtstq_p16): New.

gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/vtst.c: Add tests for
vtst_p8, vtstq_p8, vtst_p16 and vtstq_p16.

From-SVN: r236576

8 years agoDaily bump.
GCC Administrator [Mon, 23 May 2016 00:16:25 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236575

8 years agoavx512bw-kunpckdq-1.c (avx512bw_test): Use "m" constraint instead of "r".
Jakub Jelinek [Sun, 22 May 2016 18:01:43 +0000 (20:01 +0200)]
avx512bw-kunpckdq-1.c (avx512bw_test): Use "m" constraint instead of "r".

* gcc.target/i386/avx512bw-kunpckdq-1.c (avx512bw_test): Use "m"
constraint instead of "r".
* gcc.target/i386/avx512f-additional-reg-names.c (foo): Use vpxord
insn instead of vxorpd.
* gcc.target/i386/strinline.c: Add dg-require-effective-target ia32.

From-SVN: r236571

8 years agorevert: re PR target/70738 (Add -mgeneral-regs-only option)
Uros Bizjak [Sun, 22 May 2016 17:20:10 +0000 (19:20 +0200)]
revert: re PR target/70738 (Add -mgeneral-regs-only option)

Revert:

gcc/

PR target/70738
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New.
(ix86_handle_option): Disable MPX, MMX, SSE and x87 instructions
for -mgeneral-regs-only.
* config/i386/i386.c (ix86_option_override_internal): Don't
enable x87 instructions if only the general registers are
allowed.
* config/i386/i386.opt: Add -mgeneral-regs-only.
* doc/invoke.texi: Document -mgeneral-regs-only.

gcc/testsuite/

PR target/70738
* gcc.target/i386/pr70738-1.c: Likewise.
* gcc.target/i386/pr70738-2.c: Likewise.
* gcc.target/i386/pr70738-3.c: Likewise.
* gcc.target/i386/pr70738-4.c: Likewise.
* gcc.target/i386/pr70738-5.c: Likewise.
* gcc.target/i386/pr70738-6.c: Likewise.
* gcc.target/i386/pr70738-7.c: Likewise.
* gcc.target/i386/pr70738-8.c: Likewise.
* gcc.target/i386/pr70738-9.c: Likewise.

From-SVN: r236570

8 years agosse.md (vec_set_lo_<mode><mask_name>, [...]): Add && <mask_avx512dq_condition> condition.
Jakub Jelinek [Sun, 22 May 2016 10:28:06 +0000 (12:28 +0200)]
sse.md (vec_set_lo_<mode><mask_name>, [...]): Add && <mask_avx512dq_condition> condition.

* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
vec_set_hi_<mode><mask_name>): Add && <mask_avx512dq_condition>
condition.  For !TARGET_AVX512DQ, emit 32x4 instruction instead
of 64x2.

* gcc.target/i386/avx512dq-vinsert-1.c: New test.
* gcc.target/i386/avx512vl-vinsert-1.c: New test.

From-SVN: r236569

8 years agosse.md (vec_set_lo_v16hi, [...]): Add alternative with v constraint instead of x...
Jakub Jelinek [Sun, 22 May 2016 10:27:27 +0000 (12:27 +0200)]
sse.md (vec_set_lo_v16hi, [...]): Add alternative with v constraint instead of x and vinserti32x4 insn.

* config/i386/sse.md (vec_set_lo_v16hi, vec_set_hi_v16hi,
vec_set_lo_v32qi, vec_set_hi_v32qi): Add alternative with
v constraint instead of x and vinserti32x4 insn.

* gcc.target/i386/avx512vl-vinserti32x4-3.c: New test.

From-SVN: r236568

8 years agosse.md (i128vldq): New mode iterator.
Jakub Jelinek [Sun, 22 May 2016 10:26:52 +0000 (12:26 +0200)]
sse.md (i128vldq): New mode iterator.

* config/i386/sse.md (i128vldq): New mode iterator.
(avx2_vbroadcasti128_<mode>, avx_vbroadcastf128_<mode>): Add
avx512dq and avx512vl alternatives.

* gcc.target/i386/avx512dq-vbroadcast-2.c: New test.
* gcc.target/i386/avx512vl-vbroadcast-2.c: New test.

From-SVN: r236567

8 years agosse.md (avx2_vec_dupv4df): Use v instead of x constraint, use maybe_evex prefix inste...
Jakub Jelinek [Sun, 22 May 2016 10:25:55 +0000 (12:25 +0200)]
sse.md (avx2_vec_dupv4df): Use v instead of x constraint, use maybe_evex prefix instead of vex.

* config/i386/sse.md (avx2_vec_dupv4df): Use v instead of x
constraint, use maybe_evex prefix instead of vex.
(vec_dupv4sf): Use v constraint instead of x for output
operand except for noavx alternative, use Yv constraint
instead of x for input.  Use maybe_evex prefix instead of vex.
(*vec_dupv4si): Likewise.
(*vec_dupv2di): Likewise.

* gcc.target/i386/avx512vl-vbroadcast-1.c: New test.

From-SVN: r236566

8 years agore PR tree-optimization/40921 (missed optimization: x + (-y * z * z) => x - y * z...
Kugan Vivekanandarajah [Sun, 22 May 2016 08:13:13 +0000 (08:13 +0000)]
re PR tree-optimization/40921 (missed optimization: x + (-y * z * z) => x - y * z * z)

gcc/testsuite/ChangeLog:

2016-05-22  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/40921
* gcc.dg/tree-ssa/pr40921.c: New test.

gcc/ChangeLog:

2016-05-22  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/40921
        * tree-ssa-reassoc.c (try_special_add_to_ops): New.
        (linearize_expr_tree): Call try_special_add_to_ops.
        (reassociate_bb): Convert MULT_EXPR by (-1) to NEGATE_EXPR.

From-SVN: r236564

8 years agoDaily bump.
GCC Administrator [Sun, 22 May 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236563

8 years agoavr.c (avr_expand_prologue): Add INCOMING_FRAME_SP_OFFSET to computed stack_usage.
Senthil Kumar Selvaraj [Sat, 21 May 2016 10:54:09 +0000 (10:54 +0000)]
avr.c (avr_expand_prologue): Add INCOMING_FRAME_SP_OFFSET to computed stack_usage.

* config/avr/avr.c (avr_expand_prologue): Add INCOMING_FRAME_SP_OFFSET
to computed stack_usage.

From-SVN: r236559

8 years agore PR target/71103 (avr-gcc crashes with unrecognizable insn error)
Pitchumani Sivanupandi [Sat, 21 May 2016 10:47:27 +0000 (10:47 +0000)]
re PR target/71103 (avr-gcc crashes with unrecognizable insn error)

PR target/71103
* config/avr/avr.md (define_expand "mov<mode>"): If the source
operand is subreg (symbol_ref) then move the symbol ref to register.

PR target/71103
* gcc.target/avr/pr71103.c: New test.

From-SVN: r236558

8 years ago* tree.c (array_at_struct_end_p): Look through MEM_REF.
Jan Hubicka [Sat, 21 May 2016 09:46:22 +0000 (11:46 +0200)]
* tree.c (array_at_struct_end_p): Look through MEM_REF.

From-SVN: r236557

8 years agore PR tree-optimization/71179 (ice fold_convert_loc, at fold-const.c:2360)
Kugan Vivekanandarajah [Sat, 21 May 2016 07:09:16 +0000 (07:09 +0000)]
re PR tree-optimization/71179 (ice fold_convert_loc, at fold-const.c:2360)

gcc/testsuite/ChangeLog:

2016-05-21  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71179
* gcc.dg/tree-ssa/pr71179.c: New test.

gcc/ChangeLog:

2016-05-21  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71179
* tree-ssa-reassoc.c (transform_add_to_multiply): Disallow float
VECTOR type.

From-SVN: r236554

8 years agoDaily bump.
GCC Administrator [Sat, 21 May 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236553

8 years agoPR c/71115 - [4.9/5/6/7 Regression] Missing warning: excess elements
Martin Sebor [Fri, 20 May 2016 22:23:10 +0000 (22:23 +0000)]
PR c/71115 - [4.9/5/6/7 Regression] Missing warning: excess elements

PR c/71115 - [4.9/5/6/7 Regression] Missing warning: excess elements
in struct initializer

gcc/c/ChangeLog:
2016-05-20  Martin Sebor  <msebor@redhat.com>

PR c/71115
* c-typeck.c (error_init): Use
expansion_point_location_if_in_system_header.
(warning_init): Same.

gcc/testsuite/ChangeLog:
2016-05-20  Martin Sebor  <msebor@redhat.com>

PR c/71115
* gcc.dg/init-excess-2.c: New test.

From-SVN: r236549

8 years agotree-vrp.c (compare_values_warnv): Simplify handling of symbolic ranges by calling...
Eric Botcazou [Fri, 20 May 2016 21:46:58 +0000 (21:46 +0000)]
tree-vrp.c (compare_values_warnv): Simplify handling of symbolic ranges by calling get_single_symbol and tidy up.

* tree-vrp.c (compare_values_warnv): Simplify handling of symbolic
ranges by calling get_single_symbol and tidy up.  Look more closely
into NAME + CST1 vs CST2 comparisons if type overflow is undefined.
ada/
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
Make same-sized subtypes of signed base types signed.
* gcc-interface/utils.c (make_type_from_size): Adjust to above change.
(unchecked_convert): Likewise.

From-SVN: r236548

8 years ago* bitmap.c (bitmap_find_bit): Remove useless test.
Jeff Law [Fri, 20 May 2016 21:32:56 +0000 (15:32 -0600)]
* bitmap.c (bitmap_find_bit): Remove useless test.

From-SVN: r236546

8 years agoThis fixes a bug in my r236491: on nvptx, functions without prologue
Segher Boessenkool [Fri, 20 May 2016 21:31:17 +0000 (23:31 +0200)]
This fixes a bug in my r236491: on nvptx, functions without prologue
would not get an epilogue either.

* function.c (thread_prologue_and_epilogue_insns): Commit the
insertion of the epilogue.

From-SVN: r236545

8 years ago[PR 70884] Constant pool SRA fix
Martin Jambor [Fri, 20 May 2016 21:04:31 +0000 (23:04 +0200)]
[PR 70884] Constant pool SRA fix

2016-05-20  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/70884
* tree-sra.c (initialize_constant_pool_replacements): Do not check
should_scalarize_away_bitmap and cannot_scalarize_away_bitmap bits.
(sort_and_splice_var_accesses): Do not consider multiple scalar reads
of constant pool data as a reason for scalarization.

testsuite/
* gcc.dg/tree-ssa/pr70919.c: New test.

From-SVN: r236544

8 years agoconstexpr.c (cxx_bind_parameters_in_call): Avoid gratuitous if ...
Nathan Sidwell [Fri, 20 May 2016 20:58:21 +0000 (20:58 +0000)]
constexpr.c (cxx_bind_parameters_in_call): Avoid gratuitous if ...

* constexpr.c (cxx_bind_parameters_in_call): Avoid gratuitous if
... goto.
(cxx_eval_call_expression): Fix comment grammar.

From-SVN: r236543