Jason Merrill [Mon, 28 Mar 2016 20:16:21 +0000 (16:16 -0400)]
re PR bootstrap/70422 (Bootstrap comparison failure)
PR c++/70422
PR c++/64266
PR c++/70353
* decl.c, pt.c, constexpr.c: Revert last patch.
From-SVN: r234511
Jason Merrill [Mon, 28 Mar 2016 17:22:49 +0000 (13:22 -0400)]
* c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
From-SVN: r234508
Dominique d'Humieres [Mon, 28 Mar 2016 13:19:07 +0000 (15:19 +0200)]
2016-03-28 Dominique d'Humieres <dominiq@lps.ens.fr>
g++.dg/ext/fnname5.C: Update the test for Darwin.
From-SVN: r234504
Alessandro Fanfarillo [Mon, 28 Mar 2016 09:05:01 +0000 (03:05 -0600)]
STOP managed by external library when coarrays are used
From-SVN: r234502
Kirill Yukhin [Mon, 28 Mar 2016 07:59:44 +0000 (07:59 +0000)]
re PR target/70406 (ICE: in extract_insn, at recog.c:2287 (unrecognizable insn) with -mtune=pentium2 -mavx512f)
PR target/70406
gcc/
* config/i386/i386.md (define_split, andn): Fix modes.
gcc/testsuite/
* gcc.target/i386/pr70406.c: New test.
From-SVN: r234500
GCC Administrator [Mon, 28 Mar 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234499
Eric Botcazou [Sun, 27 Mar 2016 10:00:54 +0000 (10:00 +0000)]
Fix typo
From-SVN: r234496
Eric Botcazou [Sun, 27 Mar 2016 09:57:36 +0000 (09:57 +0000)]
decl.c (components_to_record): Add special case for single field with representation clause at offset 0.
* gcc-interface/decl.c (components_to_record): Add special case for
single field with representation clause at offset 0.
From-SVN: r234494
GCC Administrator [Sun, 27 Mar 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234493
Richard Biener [Sat, 26 Mar 2016 10:08:47 +0000 (10:08 +0000)]
re PR ipa/70366 (chromium fails to build with LTO due to segfault in ipa-inline-transform.c:inline_call)
2016-03-26 Richard Biener <rguenther@suse.de>
Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR ipa/70366
* ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
instead of
TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
as 2nd argument to cl_optimization_restore().
Co-Authored-By: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
From-SVN: r234490
GCC Administrator [Sat, 26 Mar 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234489
Richard Henderson [Fri, 25 Mar 2016 23:37:13 +0000 (16:37 -0700)]
re PR target/70120 ([aarch64] -g causes Assembler messages: Error: unaligned opcodes detected in executable segment)
2016-03-25 Richard Henderson <rth@redhat.com>
PR target/70120
* config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
* config/aarch64/aarch64-protos.h: Declare it.
* config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
PR target/70120
* gcc.target/aarch64/pr70120-1.c: New.
* gcc.target/aarch64/pr70120-2.c: New.
* gcc.target/aarch64/pr70120-3.c: New.
From-SVN: r234486
Jason Merrill [Fri, 25 Mar 2016 21:29:26 +0000 (17:29 -0400)]
re PR c++/64266 (Can GCC produce local mergeable symbols for *.__FUNCTION__ and *.__PRETTY_FUNCTION__ functions?)
PR c++/64266
PR c++/70353
Core issue 1962
* decl.c (cp_fname_init): Decay the initializer to pointer.
(cp_make_fname_decl): Set DECL_DECLARED_CONSTEXPR_P,
DECL_VALUE_EXPR, DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
Don't call cp_finish_decl.
* pt.c (tsubst_expr) [DECL_EXPR]: Set DECL_VALUE_EXPR,
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P. Don't call cp_finish_decl.
* constexpr.c (cxx_eval_constant_expression) [VAR_DECL]:
Handle DECL_VALUE_EXPR.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r234484
Patrick Palka [Fri, 25 Mar 2016 18:21:44 +0000 (18:21 +0000)]
Adjust dg-do directive in mangle2.C
gcc/testsuite/ChangeLog:
PR c++/62212
* g++.dg/template/mangle2.C: The dg-do directive should be
"compile" not "assemble".
From-SVN: r234482
Bernd Schmidt [Fri, 25 Mar 2016 16:15:39 +0000 (10:15 -0600)]
re PR preprocessor/69650 (ICE in linemap_line_start, at libcpp/line-map.c:803)
PR lto/69650
* directives.c (do_linemarker): Test for file left but not entered
here.
* line-map.c (linemap_add): Not here.
PR lto/69650
* gcc.dg/pr69650.c: New test.
From-SVN: r234481
David Edelsohn [Fri, 25 Mar 2016 14:04:46 +0000 (14:04 +0000)]
* g++.dg/ext/pr70290.C: Prune non-standard ABI.
From-SVN: r234480
Alan Modra [Fri, 25 Mar 2016 09:10:03 +0000 (19:40 +1030)]
[RS6000] PR70052, ICE compiling _Decimal128 test case
gcc/
PR target/70052
* config/rs6000/constraints.md (j): Simplify.
* config/rs6000/predicates.md (easy_fp_constant): Exclude
decimal float 0.D.
* config/rs6000/rs6000.md (zero_fp): New mode_attr.
(mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
in all constraint alternatives.
(movtd_64bit_nodm): Delete "j" constraint alternative.
gcc/testsuite/
* gcc.dg/dfp/pr70052.c: New test.
From-SVN: r234479
Aldy Hernandez [Fri, 25 Mar 2016 05:59:57 +0000 (05:59 +0000)]
tree-ssa-propagate.c: Enhance docs for SSA_PROP_NOT_INTERESTING.
* tree-ssa-propagate.c: Enhance docs for
SSA_PROP_NOT_INTERESTING.
From-SVN: r234478
Aldy Hernandez [Fri, 25 Mar 2016 04:00:17 +0000 (04:00 +0000)]
* doc/extend.texi: Fix typo in documentation to pure attribute.
From-SVN: r234477
John David Anglin [Fri, 25 Mar 2016 00:59:02 +0000 (00:59 +0000)]
re PR target/70319 (FAIL: gcc.dg/sso/q2.c -O1 -fno-inline execution test)
PR target/70319
* config/pa/pa.md (bswapdi2): Use a scratch register.
From-SVN: r234475
GCC Administrator [Fri, 25 Mar 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234474
Thomas Schwinge [Thu, 24 Mar 2016 21:29:55 +0000 (22:29 +0100)]
Also test -O0 for OpenACC C, C++ offloading test cases
libgomp/
* testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
gcc-dg-runtest.
* testsuite/libgomp.oacc-c/c.exp: Likewise.
* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
-fno-builtin-acc_on_device instead of -O0.
* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
-O0.
* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
Don't specify -O2.
* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
Likewise.
From-SVN: r234471
Jason Merrill [Thu, 24 Mar 2016 19:21:38 +0000 (15:21 -0400)]
re PR c++/70386 (ICE with -Wall on valid code on x86_64-linux-gnu in verify_ctor_sanity, at cp/constexpr.c:2232)
PR c++/70386
* constexpr.c (cxx_eval_bare_aggregate): Handle PMFs.
From-SVN: r234469
Jonathan Wakely [Thu, 24 Mar 2016 18:13:40 +0000 (18:13 +0000)]
libstdc++/69945 Add __gnu_cxx::__freeres hook
PR libstdc++/69945
* config/abi/pre/gnu.ver: Add new symbol.
* libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
* testsuite/18_support/free_eh_pool.cc: New test.
From-SVN: r234465
Jason Merrill [Thu, 24 Mar 2016 17:59:58 +0000 (13:59 -0400)]
re PR c++/70323 (missing error on integer overflow in constexpr function result converted to bool)
PR c++/70323
* constexpr.c (cxx_eval_call_expression): Don't cache result if
*overflow_p.
From-SVN: r234463
Richard Henderson [Thu, 24 Mar 2016 17:52:11 +0000 (10:52 -0700)]
re PR middle-end/69845 (Expression getting incorrectly optimized after being rewritten by compiler)
2016-03-24 Richard Henderson <rth@redhat.com>
PR middle-end/69845
* fold-const.c (extract_muldiv_1): Correct test for multiplication
overflow.
PR middle-end/69845
* gcc.dg/tree-ssa/pr69845-1.c: New test.
* gcc.dg/tree-ssa/pr69845-2.c: New test.
From-SVN: r234462
Tom de Vries [Thu, 24 Mar 2016 16:16:06 +0000 (16:16 +0000)]
Add missing initialization in goacc/host_data-tree.f95
2016-03-24 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/host_data-tree.f95: Add missing initialization.
From-SVN: r234460
Tom de Vries [Thu, 24 Mar 2016 16:15:56 +0000 (16:15 +0000)]
Add goacc/uninit-use-device-clause.{c,f95}
2016-03-24 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-use-device-clause.c: New test.
* gfortran.dg/goacc/uninit-use-device-clause.f95: New test.
From-SVN: r234459
Tom de Vries [Thu, 24 Mar 2016 16:15:45 +0000 (16:15 +0000)]
Add goacc/uninit-dim-clause.{c,f95}
2016-03-24 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-dim-clause.c: New test.
* gfortran.dg/goacc/uninit-dim-clause.f95: New test.
From-SVN: r234458
Patrick Palka [Thu, 24 Mar 2016 15:59:53 +0000 (15:59 +0000)]
Fix PR c++/62212 (ICE during mangling of array type)
gcc/cp/ChangeLog:
PR c++/62212
* tree.c (build_cplus_array_type): Determine type-dependentess
with uses_template_parms instead of with dependent_type_p.
gcc/testsuite/ChangeLog:
PR c++/62212
* g++.dg/template/mangle2.C: New test.
From-SVN: r234457
Uros Bizjak [Thu, 24 Mar 2016 14:48:05 +0000 (15:48 +0100)]
i386.md (*anddi3_doubleword): Generate AND insn using ix86_expand_binary_operator instead of gen_andsi3.
* config/i386/i386.md (*anddi3_doubleword): Generate AND insn
using ix86_expand_binary_operator instead of gen_andsi3.
From-SVN: r234456
Richard Biener [Thu, 24 Mar 2016 14:07:42 +0000 (14:07 +0000)]
re PR tree-optimization/70396 (ICE on valid code at -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (in immed_wide_int_const, at emit-rtl.c:606))
2016-03-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/70396
* tree-vect-stmts.c (vectorizable_comparison): Use
get_vectype_for_scalar_type.
* gcc.dg/torture/pr70396.c: New testcase.
From-SVN: r234455
Martin Liska [Thu, 24 Mar 2016 13:04:12 +0000 (14:04 +0100)]
Properly assign to packet header (PR hsa/70394)
* plugin/plugin-hsa.c (packet_store_release): New function
that is taken from the HSA runtime manual.
(GOMP_OFFLOAD_run): Use the function.
From-SVN: r234454
Richard Biener [Thu, 24 Mar 2016 12:19:56 +0000 (12:19 +0000)]
re PR middle-end/70370 (ICE in execute_todo, at passes.c:2003 when using __real__ or __imag__ as lvalue in asm)
2016-03-24 Richard Biener <rguenther@suse.de>
PR middle-end/70370
* gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
with register bases.
* gcc.dg/torture/pr70370.c: New testcase.
From-SVN: r234453
Tom de Vries [Thu, 24 Mar 2016 11:29:37 +0000 (11:29 +0000)]
Add missing initializations in oacc testcases
2016-03-24 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/data-tree.f95: Add missing initialization.
* gfortran.dg/goacc/kernels-tree.f95: Same.
* gfortran.dg/goacc/parallel-tree.f95: Same.
From-SVN: r234452
Tom de Vries [Thu, 24 Mar 2016 11:29:27 +0000 (11:29 +0000)]
Add goacc/uninit-if-clause.{c,f95}
2016-03-24 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-if-clause.c: New test.
* gfortran.dg/goacc/uninit-if-clause.f95: New test.
From-SVN: r234451
Jakub Jelinek [Thu, 24 Mar 2016 11:26:44 +0000 (12:26 +0100)]
re PR target/70290 (-mavx512vl breaks parsing of C++ vector condition)
PR target/70290
* g++.dg/ext/pr70290.C: Add -Wno-psabi -w to dg-options. Formatting.
From-SVN: r234450
Richard Biener [Thu, 24 Mar 2016 08:17:43 +0000 (08:17 +0000)]
re PR tree-optimization/70372 (ICE: in wide_int_to_tree, at tree.c:1488 with -fno-tree-fre and v2ti vectors)
2016-03-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/70372
* tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
build_all_ones_cst to also handle vector types correctly.
* gcc.dg/tree-ssa/pr70372.c: New testcase.
From-SVN: r234449
GCC Administrator [Thu, 24 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234447
Patrick Palka [Wed, 23 Mar 2016 21:08:32 +0000 (21:08 +0000)]
Fix PR c++/70347 (default member initializer not picked up by union)
gcc/cp/ChangeLog:
PR c++/70347
* typeck.c (process_init_constructor_union): If the initializer
is empty, use the union's NSDMI if it has one.
gcc/testsuite/ChangeLog:
PR c++/70347
* g++.dg/cpp1y/nsdmi-union1.C: New test.
From-SVN: r234443
Patrick Palka [Wed, 23 Mar 2016 21:02:34 +0000 (21:02 +0000)]
Fix PR c++/70332 (ICE due to aggregate initialization of NSDMI)
gcc/cp/ChangeLog:
PR c++/70332
* pt.c (tsubst_copy) [PARM_DECL]: Handle the use of 'this' in an
NSDMI that's part of an aggregrate initialization.
gcc/testsuite/ChangeLog:
PR c++/70332
* g++.dg/cpp1y/nsdmi-aggr5.C: New test.
From-SVN: r234442
Michael Meissner [Wed, 23 Mar 2016 20:33:28 +0000 (20:33 +0000)]
re PR target/70381 (On powerpc, -mfloat128 is on by default for all VSX systems)
2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70381
* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
-mfloat128 here.
From-SVN: r234441
Jakub Jelinek [Wed, 23 Mar 2016 18:55:38 +0000 (19:55 +0100)]
re PR c++/70001 (Infinity compilation time)
PR c++/70001
* constexpr.c (cxx_eval_vec_init_1): Reuse CONSTRUCTOR initializers
for 1..max even for multi-dimensional arrays. Call unshare_expr
on it.
* g++.dg/cpp0x/constexpr-70001-4.C: New test.
* g++.dg/cpp1y/pr70001.C: New test.
From-SVN: r234439
Jakub Jelinek [Wed, 23 Mar 2016 18:45:26 +0000 (19:45 +0100)]
re PR c++/70323 (missing error on integer overflow in constexpr function result converted to bool)
PR c++/70323
* constexpr.c (cxx_eval_constant_expression): Diagnose overflow
on TREE_OVERFLOW constants.
* g++.dg/cpp0x/constexpr-70323.C: New test.
From-SVN: r234438
Jakub Jelinek [Wed, 23 Mar 2016 18:42:19 +0000 (19:42 +0100)]
re PR c++/70376 (OpenMP taskloop construct fails to instantiate copy constructor(same as Bug 48869))
PR c++/70376
* cp-gimplify.c (genericize_omp_for_stmt): Don't walk OMP_FOR_CLAUSES
for OMP_TASKLOOP here.
(cp_genericize_r): Handle OMP_TASKLOOP like OMP_TASK, except do call
genericize_omp_for_stmt instead of cp_walk_tree on OMP_BODY.
* testsuite/libgomp.c++/pr70376.C: New test.
From-SVN: r234437
Alexandre Oliva [Wed, 23 Mar 2016 18:36:25 +0000 (18:36 +0000)]
re PR c++/69315 (ICE in finish_function with constexpr and templates)
PR c++/69315
* cp-tree.h (defer_mark_used_calls, deferred_mark_used_calls): Remove.
* decl.c (defer_mark_used_calls, deferred_mark_used_calls): Remove.
(finish_function): Don't set or test them.
* decl2.c (mark_used): Don't handle defer_mark_used_calls.
* g++.dg/cpp0x/constexpr-69315.C: New test.
* g++.dg/cpp0x/variadic122.C: Change one dg-warning into dg-bogus.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r234436
Jason Merrill [Wed, 23 Mar 2016 18:23:04 +0000 (14:23 -0400)]
re PR c++/70344 (ICE on invalid code at -O1 and above on x86_64-linux-gnu in record_reference, at cgraphbuild.c:64)
PR c++/70344
* constexpr.c (cxx_eval_call_expression): Catch invalid recursion.
From-SVN: r234434
Marek Polacek [Wed, 23 Mar 2016 17:51:56 +0000 (17:51 +0000)]
re PR c++/69884 (warning: ignoring attributes on template argument)
PR c++/69884
* c.opt (Wignored-attributes): New option.
* pt.c (canonicalize_type_argument): Use OPT_Wignored_attributes.
* doc/invoke.texi: Document -Wignored-attributes.
* g++.dg/warn/Wignored-attributes-1.C: New test.
* g++.dg/warn/Wignored-attributes-2.C: New test.
From-SVN: r234433
Tom de Vries [Wed, 23 Mar 2016 17:32:05 +0000 (17:32 +0000)]
Add missing initializations in oacc testcases
2016-03-23 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/kernels-default.c (foo): Add missing
initialization.
* gfortran.dg/goacc/private-3.f95 (test): Same.
* gfortran.dg/goacc/routine-5.f90 (gang, worker, vector, seq): Add
missing use param.
* testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
initialization of lresult and lvresult.
* testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
From-SVN: r234432
Bin Cheng [Wed, 23 Mar 2016 15:26:43 +0000 (15:26 +0000)]
re PR tree-optimization/69042 (Missed optimization in ivopts)
PR tree-optimization/69042
* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
parameter from 30 to 40.
From-SVN: r234430
Bin Cheng [Wed, 23 Mar 2016 15:24:20 +0000 (15:24 +0000)]
re PR tree-optimization/69042 (Missed optimization in ivopts)
PR tree-optimization/69042
* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
for use with constant offset stripped in base.
From-SVN: r234429
James Norris [Wed, 23 Mar 2016 14:38:55 +0000 (14:38 +0000)]
re PR libgomp/69414 ([OpenACC] "!$acc update self" does not provide expected result)
PR libgomp/69414
* oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
* testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
* testsuite/libgomp.oacc-fortran/update-1.f90: New file.
Co-Authored-By: Daichi Fukuoka <dc-fukuoka@sgi.com>
From-SVN: r234428
Richard Biener [Wed, 23 Mar 2016 13:40:50 +0000 (13:40 +0000)]
re PR tree-optimization/70251 (Wrong code with -O3 -march=skylake-avx512.)
2016-03-23 Richard Biener <rguenther@suse.de>
PR middle-end/70251
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
mode compatibility check.
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
From-SVN: r234427
Jeff Law [Wed, 23 Mar 2016 13:20:16 +0000 (07:20 -0600)]
re PR tree-optimization/64058 (Performance degradation after r216304)
PR tree-optimization/64058
* tree-ssa-coalesce.c (struct coalesce_pair): Add new field
CONFLICT_COUNT.
(struct ssa_conflicts): Move up earlier in the file.
(conflicts_, var_map_): New static variables.
(initialize_conflict_count): New function to initialize the
CONFLICT_COUNT field for each conflict pair.
(compare_pairs): Lazily initialize the conflict count and use it
as the first tie-breaker.
(sort_coalesce_list): Add new arguments conflicts, map. Initialize
and wipe conflicts_ and map_ around the call to qsort. Remove
special case for 2 coalesce pairs.
* bitmap.c (bitmap_count_unique_bits): New function.
(bitmap_count_bits_in_word): New function, extracted from
bitmap_count_bits.
(bitmap_count_bits): Use bitmap_count_bits_in_word.
* bitmap.h (bitmap_count_unique_bits): Declare it.
From-SVN: r234425
Ilya Enkovich [Wed, 23 Mar 2016 10:55:37 +0000 (10:55 +0000)]
re PR target/69917 (gcc.target/i386/chkp-hidden-def.c FAILs)
gcc/
PR target/69917
* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
transparent alias chain for decl assembler name.
* config/sol2.c (solaris_assemble_visibility): Likewise.
From-SVN: r234423
Kyrylo Tkachov [Wed, 23 Mar 2016 10:39:10 +0000 (10:39 +0000)]
[ARM] Reduce size of arm1020e automaton
* config/arm/arm1020e.md (1020call_op): Reduce reservation
duration.
(v10_fdivs): Likewise.
(v10_fdivd): Likewise.
From-SVN: r234422
Kyrylo Tkachov [Wed, 23 Mar 2016 10:32:54 +0000 (10:32 +0000)]
[ARM] Split out armv7ve effective target check
* lib/target-supports.exp: Remove v7ve entry from loop
creating effective target checks.
(check_effective_target_arm_arch_v7ve_ok): New procedure.
(add_options_for_arm_arch_v7ve): Likewise.
From-SVN: r234420
Kyrylo Tkachov [Wed, 23 Mar 2016 10:16:31 +0000 (10:16 +0000)]
[ARM] PR driver/70132: Avoid double fclose in driver-arm.c
PR driver/70132
* config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
to not call fclose twice on file.
From-SVN: r234419
Martin Liska [Wed, 23 Mar 2016 09:59:51 +0000 (10:59 +0100)]
Copy shadow argument conditionally (PR hsa/70337)
PR hsa/70337
* plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
argument just in case a dispatched kernel uses that argument.
From-SVN: r234418
Jakub Jelinek [Wed, 23 Mar 2016 09:52:00 +0000 (10:52 +0100)]
re PR tree-optimization/70354 (Wrong code with -O3 -march=broadwell and -march=skylake-avx512.)
PR tree-optimization/70354
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
oprnd0 is wider than oprnd1 and there is a cast from the wider
type to oprnd1, mask it with the mask of the narrower type.
* gcc.dg/vect/pr70354-1.c: New test.
* gcc.dg/vect/pr70354-2.c: New test.
* gcc.target/i386/avx2-pr70354-1.c: New test.
* gcc.target/i386/avx2-pr70354-2.c: New test.
From-SVN: r234417
Jakub Jelinek [Wed, 23 Mar 2016 09:49:12 +0000 (10:49 +0100)]
re PR target/70321 (STV generates less optimized code)
PR target/70321
* config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
Optimize TARGET_STV splitters, if high or low word of last argument
is 0 or -1.
From-SVN: r234416
Bernd Edlinger [Wed, 23 Mar 2016 00:41:52 +0000 (00:41 +0000)]
Makefile.am (install-freestanding-headers): Add concept_check.h and move.h to the installed headers.
2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
* include/Makefile.am (install-freestanding-headers): Add
concept_check.h and move.h to the installed headers.
* include/Makefile.in: Regenerated.
* include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
freestanding implementations.
* doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
that this macro has no effect for freestanding implementations.
* doc/html/manual/using_macros.html: Likewise.
From-SVN: r234414
GCC Administrator [Wed, 23 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234413
Jeff Law [Tue, 22 Mar 2016 21:32:34 +0000 (15:32 -0600)]
re PR target/70232 (excessive stack usage with -O2)
PR target/70232
tree-ssa-threadbackward.c
(fsm_find_control_statement_thread_paths): Correctly distinguish
between old style jump threads vs FSM jump threads.
PR target/70232
* gcc.dg/tree-ssa/pr70232.c: New test.
From-SVN: r234409
Michael Meissner [Tue, 22 Mar 2016 21:05:43 +0000 (21:05 +0000)]
re PR libgcc/70363 (PowerPC __float128 to long double doesn't link if built with an assember without ISA 3.0 support)
2016-03-22 Michael Meissner <meissner@linux.vnet.ibm.com>
PR libgcc/70363
* config/rs6000/extendkftf2-sw.c (__extendkftf2_sw): If libgcc was
built with an assembler that does not support ISA 3.0
instructions, rename __extendkftf2_sw to __extendkftf2.
From-SVN: r234408
Ilya Enkovich [Tue, 22 Mar 2016 19:00:14 +0000 (19:00 +0000)]
re PR target/70302 (crash on valid code at -O2 and -O3 in 32-bit mode on x86_64-linux-gnu (in convert_op, at config/i386/i386.c:3414))
2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/70302
* config/i386/i386.c (scalar_chain::convert_op): Support
uninitialized register usage case.
PR target/70302
* gcc.target/i386/pr70302.c: New test.
From-SVN: r234406
Richard Biener [Tue, 22 Mar 2016 14:38:42 +0000 (14:38 +0000)]
re PR tree-optimization/70251 (Wrong code with -O3 -march=skylake-avx512.)
2016-03-22 Richard Biener <rguenther@suse.de>
PR middle-end/70251
* genmatch.c (gen_transform): Adjust last parameter to a three-state
int...
(capture::gen_transform): ... to change behavior when substituting
a condition into cond or not-cond expr context.
(dt_simplify::gen_1): Adjust.
* gimple-match-head.c: Include gimplify.h for unshare_expr.
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
last change and instead change to
A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
* g++.dg/torture/pr70251.C: New testcase.
From-SVN: r234405
Anthony Green [Tue, 22 Mar 2016 14:25:44 +0000 (14:25 +0000)]
Fix endianness issue for moxiebox
From-SVN: r234404
David Malcolm [Tue, 22 Mar 2016 14:20:49 +0000 (14:20 +0000)]
PR c/69993: improvements to wording of -Wmisleading-indentation
gcc/c-family/ChangeLog:
PR c/69993
* c-indentation.c (warn_for_misleading_indentation): Rewrite the
diagnostic text, reversing the order of the warning and note so
that they appear in source order.
gcc/testsuite/ChangeLog:
PR c/69993
* c-c++-common/Wmisleading-indentation-3.c: New test, based on
Wmisleading-indentation.c.
* c-c++-common/Wmisleading-indentation.c: Update thoughout to
reflect change to diagnostic text and order of messages.
* gcc.dg/plugin/location-overflow-test-2.c: Likewise.
From-SVN: r234403
David Edelsohn [Tue, 22 Mar 2016 13:46:09 +0000 (13:46 +0000)]
* g++.dg/ext/java-3.C: Don't compile on AIX.
From-SVN: r234402
Richard Biener [Tue, 22 Mar 2016 13:23:00 +0000 (13:23 +0000)]
re PR target/70333 (Test miscompiled with -O0.)
2016-03-22 Richard Biener <rguenther@suse.de>
PR middle-end/70333
* fold-const.c (extract_muldiv_1): Properly perform multiplication
in the wide type.
* gcc.dg/torture/pr70333.c: New testcase.
From-SVN: r234401
Kirill Yukhin [Tue, 22 Mar 2016 13:17:11 +0000 (13:17 +0000)]
Remove duplicated AVX-512VL bit check.
gcc/
* config/i386/i386.c (def_builtin): Remove duplicated functionality.
From-SVN: r234400
Ilya Enkovich [Tue, 22 Mar 2016 12:31:12 +0000 (12:31 +0000)]
re PR target/70290 (-mavx512vl breaks parsing of C++ vector condition)
gcc/cp/
PR target/70290
* call.c (build_conditional_expr_1): Always use original
condition type for vector type checks and build.
gcc/testsuite/
PR target/70290
* g++.dg/ext/pr70290.C: New test.
From-SVN: r234399
Martin Liska [Tue, 22 Mar 2016 11:31:53 +0000 (11:31 +0000)]
Fix ChangeLog entries for PR ipa/70306
From-SVN: r234398
Kirill Yukhin [Tue, 22 Mar 2016 11:09:03 +0000 (11:09 +0000)]
re PR target/70325 (ICE on __builtin_ia32_storedquqi256_mask)
PR target/70325
gcc/
* config/i386/i386.c (def_builtin): Handle
OPTION_MASK_ISA_AVX512VL to be and-ed with other
bits.
(const struct builtin_description bdesc_special_args[]):
Remove duplicate ISA bits.
gcc/testsuite/
* gcc.target/i386/pr70325.c: New test.
From-SVN: r234395
Jakub Jelinek [Tue, 22 Mar 2016 08:28:49 +0000 (09:28 +0100)]
re PR target/70329 (wrong code with -mavx512bw and 64byte vectors)
PR target/70329
* config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i]
in a way that works also for AVX512BW.
* gcc.target/i386/avx512bw-pr70329-1.c: New test.
* gcc.target/i386/avx512bw-pr70329-2.c: New test.
From-SVN: r234394
Jakub Jelinek [Tue, 22 Mar 2016 08:14:24 +0000 (09:14 +0100)]
re PR target/70300 (ICE: in extract_constrain_insn, at recog.c:2190 (insn does not satisfy its constraints) with -mtune=amdfam10 -mavx512bw)
PR target/70300
* config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
instead of source if operands[1] is xmm16 and above and
!TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of
vec_interleave_lowv4sf if we need to unpack xmm16 and above.
* gcc.target/i386/pr70300.c: New test.
From-SVN: r234393
Jakub Jelinek [Tue, 22 Mar 2016 08:11:14 +0000 (09:11 +0100)]
re PR c++/70295 (bogus -Wnonnull-compare for "dynamic_cast<const FuSelection *>(this) != nullptr")
PR c++/70295
* gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
on assign if (*from_p) is a comparison, set it to
TREE_NO_WARNING (*from_p).
* c-c++-common/nonnull-1.c (func): Remove parens around cp4 != 0.
(func2): New function for cond with parens, xfail warning for c++.
* g++.dg/warn/Wnonnull-compare-8.C: New test.
From-SVN: r234392
Patrick Palka [Tue, 22 Mar 2016 02:02:01 +0000 (02:02 +0000)]
Fix PR c++/70096 (wrong code for pointer-to-member-function copy)
gcc/cp/ChangeLog:
PR c++/70096
* pt.c (tsubst_decl): Clear the DECL_MODE of the new decl.
gcc/testsuite/ChangeLog:
PR c++/70096
* g++.dg/template/ptrmem30.C: New test.
From-SVN: r234391
Patrick Palka [Tue, 22 Mar 2016 00:30:57 +0000 (00:30 +0000)]
Fix PR c++/70204 (ICE in non_const_var_error)
gcc/cp/ChangeLog:
PR c++/70204
* constexpr.c (non_const_var_error): Check
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
gcc/testsuite/ChangeLog:
PR c++/70204
* g++.dg/cpp0x/constexpr-70204a.C: New test.
* g++.dg/cpp0x/constexpr-70204b.C: New test.
From-SVN: r234390
GCC Administrator [Tue, 22 Mar 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234389
Richard Henderson [Mon, 21 Mar 2016 23:03:56 +0000 (16:03 -0700)]
re PR middle-end/70273 (FAIL: g++.dg/ext/label13a.C -std=gnu++98 execution test / scan-assembler _ZN1CC4Ev)
PR c++/70273
* decl.c (notice_forced_label_r): New.
(cp_finish_decl): Use it.
From-SVN: r234386
Jason Merrill [Mon, 21 Mar 2016 21:13:06 +0000 (17:13 -0400)]
re PR c++/70285 (ICE on valid code on x86_64-linux-gnu: verify_gimple failed)
PR c++/70285
* cp-gimplify.c (cp_fold) [COND_EXPR]: Handle bit-fields.
From-SVN: r234384
Jakub Jelinek [Mon, 21 Mar 2016 21:04:32 +0000 (22:04 +0100)]
re PR rtl-optimization/70326 (ICE: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note) in PATTERN, at rtl.h:1440)
PR middle-end/70326
* lra.c (restore_scratches): Ignore deleted insns.
* gcc.dg/pr70326.c: New test.
From-SVN: r234383
Marc Glisse [Mon, 21 Mar 2016 21:03:44 +0000 (22:03 +0100)]
re PR tree-optimization/70317 (folding x<=x to true for large vectors, ignoring nans)
PR tree-optimization/70317
* match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
to HONOR_NANS.
* gcc.dg/pr70317.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r234382
Uros Bizjak [Mon, 21 Mar 2016 19:56:50 +0000 (20:56 +0100)]
re PR target/70327 (ICE: in extract_insn, at recog.c:2287 (unrecognizable insn) with -mavx512ifma and v4ti argument)
PR target/70327
* config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
of ix86_expand_move.
(movoi): Ditto.
(movti): Use general_operand for operand 1 predicate.
testsuite/ChangeLog:
PR target/70327
* gcc.target/i386/pr70327.c: New test.
From-SVN: r234380
Martin Liska [Mon, 21 Mar 2016 19:39:27 +0000 (20:39 +0100)]
HSA: enhance dump output
* hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
insns.
(dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
From-SVN: r234379
Martin Liska [Mon, 21 Mar 2016 19:33:33 +0000 (20:33 +0100)]
Skip static ctors/dtors in IPA ICF (PR ipa/70306)
* gcc.dg/ipa/pr70306.c: New test.
* ipa-icf.c (sem_function::parse): Skip static
constructors and destructors.
From-SVN: r234378
Andre Vieira [Mon, 21 Mar 2016 15:58:41 +0000 (15:58 +0000)]
attr-align1.c: Skip if M-profile.
2016-03-21 Andre Vieira <andre.simoesdiasvieira@arm>
gcc/testsuite/
* gcc.target/arm/attr-align1.c: Skip if M-profile.
* gcc.target/arm/attr-align3.c: Likewise.
* gcc.target/arm/attr_arm.c: Likewise.
* gcc.target/arm/flip-thumb.c: Likewise.
From-SVN: r234373
Jakub Jelinek [Mon, 21 Mar 2016 15:41:13 +0000 (16:41 +0100)]
re PR target/70296 (Incorrect handling of vector X; if X is function-like macro)
PR target/70296
* include/cpplib.h (cpp_fun_like_macro_p): New prototype.
* macro.c (cpp_fun_like_macro_p): New function.
* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
function-like macro, peek following token(s) if it is followed
by CPP_OPEN_PAREN token with optional padding in between, and
if not, don't treat it like a macro.
* gcc.target/powerpc/altivec-36.c: New test.
From-SVN: r234371
Thomas Schwinge [Mon, 21 Mar 2016 15:31:50 +0000 (16:31 +0100)]
[nvptx] Don't emit sorry for the stabs debug format
* config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
for the stabs debug format.
Co-Authored-By: Alexander Monakov <amonakov@ispras.ru>
From-SVN: r234370
Richard Biener [Mon, 21 Mar 2016 13:50:50 +0000 (13:50 +0000)]
re PR tree-optimization/70310 (wrong code with vector compare at -O0)
2016-03-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/70310
* tree-vect-generic.c (expand_vector_condition): Fold the built
condition.
* gcc.dg/torture/pr70310.c: New testcase.
From-SVN: r234369
Kirill Yukhin [Mon, 21 Mar 2016 10:51:04 +0000 (10:51 +0000)]
re PR target/70293 ([ICE, AVX-512] Wrong reg constraints in vec_dup)
PR target/70293
gcc/
* config/i386 (define_insn "*vec_dup<mode>"/AVX2): Block
third alternative for AVX-512VL target,
gcc/testsuite/
* gcc.target/i386/pr70293.c: New test.
From-SVN: r234363
Martin Liska [Mon, 21 Mar 2016 10:27:53 +0000 (11:27 +0100)]
Retry to emit global variables in HSA (PR hsa/70234)
PR hsa/70234
* hsa-brig.c (emit_function_directives): Mark unemitted
global variables for emission.
* hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
(get_symbol_for_decl): Likewise.
* hsa.h (struct hsa_symbol): New flag.
From-SVN: r234362
Richard Biener [Mon, 21 Mar 2016 09:11:37 +0000 (09:11 +0000)]
re PR tree-optimization/70288 (ICE with -O1 -fno-tree-dominator-opts)
2016-03-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/70288
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
we do not estimate unsimplified all-constant conditionals or
switches as optimized away.
* gcc.dg/torture/pr70288-1.c: New testcase.
* gcc.dg/torture/pr70288-2.c: Likewise.
From-SVN: r234361
Andrey Belevantsev [Mon, 21 Mar 2016 07:54:36 +0000 (10:54 +0300)]
re PR rtl-optimization/69307 (wrong code with -O2 -fselective-scheduling @ armv7a)
PR rtl-optimization/69307
* gcc.target/arm/pr69307.c: New test.
From-SVN: r234360
Andrey Belevantsev [Mon, 21 Mar 2016 07:52:05 +0000 (10:52 +0300)]
re PR rtl-optimization/69102 (ICE: in move_op_ascend, at sel-sched.c:6138 with -fselective-scheduling2)
gcc/
PR rtl-optimization/69102
* sched-deps.c (sched_analyze_insn): Do not set last_args_size field
when we have a readonly dependency context.
testsuite/
PR rtl-optimization/69102
* gcc.c-torture/compile/pr69102.c: New test.
From-SVN: r234359
GCC Administrator [Mon, 21 Mar 2016 00:16:25 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234358
GCC Administrator [Sun, 20 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234355
Jerry DeLisle [Sat, 19 Mar 2016 20:28:38 +0000 (20:28 +0000)]
re PR fortran/69043 (Trying to include a directory causes an infinite loop)
2016-03-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/69043
* scanner.c (load_file): Update to use S_ISREG macro.
From-SVN: r234352