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
GCC Administrator [Sat, 19 Mar 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234350
Jason Merrill [Fri, 18 Mar 2016 20:16:05 +0000 (16:16 -0400)]
re PR c++/70139 (-fno-elide-constructor makes static std::regex to throw)
PR c++/70139
* constexpr.c (cxx_eval_call_expression): Fix trivial copy.
From-SVN: r234345
Jeff Law [Fri, 18 Mar 2016 19:30:20 +0000 (13:30 -0600)]
re PR rtl-optimization/70263 (ICE at -O1 and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (segmentation fault))
PR rtl-optimization/70263
* ira.c (memref_used_between_p): Assert we found END in the insn chain.
(update_equiv_regs): When trying to move a store to after the insn
that sets the source of the store, make sure the store occurs after
the insn that sets the source of the store. When successful note
the REG_EQUIV note created in the dump file.
PR rtl-optimization/70263
* gcc.c-torture/compile/pr70263-1.c: New test.
* gcc.target/i386/pr70263-2.c: New test.
From-SVN: r234344
David Wohlferd [Fri, 18 Mar 2016 19:12:10 +0000 (19:12 +0000)]
David Wohlferd's patch to document more issues with basic asms
* doc/extend.texi: Document more potential problems with basic asms.
From-SVN: r234343
Bernd Schmidt [Fri, 18 Mar 2016 19:09:08 +0000 (19:09 +0000)]
Fix PR70278, a problem with the previous split_reg change
PR rtl-optimization/70278
* lra-constraints.c (split_reg): Handle the case where biggest_mode is
VOIDmode.
testsuite/
* gcc.dg/torture/pr70278.c: New test.
* gcc.target/arm/pr70278.c: New test.
From-SVN: r234342
David Malcolm [Fri, 18 Mar 2016 17:45:42 +0000 (17:45 +0000)]
PR c/70281: C FE: fix uninitialized range for __builtin_types_compatible_p
gcc/c/ChangeLog:
PR c/70281
* c-parser.c (c_parser_postfix_expression): Set the source range
for uses of "__builtin_types_compatible_p".
gcc/testsuite/ChangeLog:
PR c/70281
* gcc.dg/plugin/diagnostic-test-expressions-1.c
(test_builtin_types_compatible_p): New test function.
* gcc.dg/pr70281.c: New test case.
From-SVN: r234340
Uros Bizjak [Fri, 18 Mar 2016 15:44:44 +0000 (16:44 +0100)]
* libsupc++/guard.cc: Revert my last commit.
From-SVN: r234336
Jason Merrill [Fri, 18 Mar 2016 15:31:35 +0000 (11:31 -0400)]
PR c++/70147 - handle primary virtual bases
* class.c (vptr_via_virtual_p): New.
(most_primary_binfo): Factor out of build_rtti_vtbl_entries.
* cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs): Don't clear
a vptr from any virtual base in a not-in-charge 'structor.
From-SVN: r234335
Jason Merrill [Fri, 18 Mar 2016 15:31:29 +0000 (11:31 -0400)]
Avoid clobbering primary virtual base when not in charge.
* decl.c (build_clobber_this): Factor out of
start_preparsed_function and begin_destructor_body. Handle
virtual bases better.
From-SVN: r234334
Jason Merrill [Fri, 18 Mar 2016 15:31:24 +0000 (11:31 -0400)]
class.c (build_if_in_charge): Split out from build_base_path.
* class.c (build_if_in_charge): Split out from build_base_path.
* init.c (expand_virtual_init, expand_default_init): Use it.
* call.c (build_special_member_call): Use it.
From-SVN: r234333
Jason Merrill [Fri, 18 Mar 2016 15:31:18 +0000 (11:31 -0400)]
* calls.c (load_register_parameters): Fix zero size sibcall logic.
From-SVN: r234332
Uros Bizjak [Fri, 18 Mar 2016 15:28:54 +0000 (16:28 +0100)]
Revert:
2015-07-02 Uros Bizjak <ubizjak@gmail.com>
* libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
to avoid unused variable warning.
(__set_and_release): Use __p after __atomic_store to avoid unused
variable warning.
From-SVN: r234331
Christophe Lyon [Fri, 18 Mar 2016 13:58:32 +0000 (13:58 +0000)]
re PR target/70113 ([AArch64] -mpc-relative-literal-loads conflicts with fix-cortex-a53-843419)
2016-03-18 Christophe Lyon <christophe.lyon@linaro.org>
PR target/70113
* gcc.target/aarch64/pr63304_1.c: Add -mno-fix-cortex-a53-843419.
From-SVN: r234330
Kirill Yukhin [Fri, 18 Mar 2016 11:36:30 +0000 (11:36 +0000)]
sse.md: Use vpbroadcastq for broadcasting DF values to 128b regs.
gcc/
* config/i386/sse.md: Use vpbroadcastq for broadcasting DF
values to 128b regs.
From-SVN: r234325
Ilya Enkovich [Fri, 18 Mar 2016 09:36:32 +0000 (09:36 +0000)]
re PR tree-optimization/70252 (ICE in vect_get_vec_def_for_stmt_copy with -O3 -march=skylake-avx512.)
gcc/
PR tree-optimization/70252
* tree-vect-stmts.c (supportable_widening_operation): Check resulting
boolean vector has a proper number of elements.
(supportable_narrowing_operation): Likewise.
gcc/testsuite/
PR tree-optimization/70252
* gcc.dg/pr70252.c: New test.
From-SVN: r234323
Tom de Vries [Fri, 18 Mar 2016 09:17:33 +0000 (09:17 +0000)]
Add testcases for pr70161
2016-03-18 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr70161-2.c: New test.
* gcc.dg/pr70161.c: New test.
From-SVN: r234322
Tom de Vries [Fri, 18 Mar 2016 09:17:23 +0000 (09:17 +0000)]
Set dump_file to NULL in cgraph_node::get_body
2016-03-18 Tom de Vries <tom@codesourcery.com>
PR ipa/70269
* cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
* gcc.dg/pr70269.c: New test.
From-SVN: r234321
Jakub Jelinek [Fri, 18 Mar 2016 08:25:57 +0000 (09:25 +0100)]
reload1.c (emit_input_reload_insns): Use simplify_replace_rtx instead of replace_rtx for DEBUG_INSNs.
* reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
instead of replace_rtx for DEBUG_INSNs.
From-SVN: r234320
Jakub Jelinek [Fri, 18 Mar 2016 07:59:36 +0000 (08:59 +0100)]
re PR c++/70267 (ICE on invalid code at -O1 and above on x86_64-linux-gnu in propagate_necessity, at tree-ssa-dce.c:924)
PR c++/70267
* init.c (build_new_1): Complain and return error_mark_node
if alloc_fn is not _Jv_AllocObject function returning pointer.
* g++.dg/ext/java-3.C: New test.
From-SVN: r234319
Venkataramanan Kumar [Fri, 18 Mar 2016 07:49:00 +0000 (07:49 +0000)]
Fix latencies in znver1.md
2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
* config/i386/znver1.md : Fix latencies of FP/SSE/AVX
load type reservations.
From-SVN: r234318
Patrick Palka [Fri, 18 Mar 2016 01:26:50 +0000 (01:26 +0000)]
Fix PR c++/70205 (ICE on valid call to qualified static member function)
gcc/cp/ChangeLog:
PR c++/70205
* search.c (adjust_result_of_qualified_name_lookup): Don't
update the BASELINK_BINFO of DECL if the second call
to lookup_base fails.
gcc/testsuite/ChangeLog:
PR c++/70205
* g++.dg/lookup/pr70205.C: New test.
From-SVN: r234317
Patrick Palka [Fri, 18 Mar 2016 01:23:26 +0000 (01:23 +0000)]
Fix PR c++/70218 (illegal access to private field succeeds)
gcc/cp/ChangeLog:
PR c++/70218
* parser.c (cp_parser_lambda_expression): Move call to
pop_deferring_access_checks ahead of the call to
cp_parser_end_tentative_firewall.
gcc/testsuite/ChangeLog:
PR c++/70218
* g++.dg/cpp0x/lambda/lambda-70218.C: New test.
From-SVN: r234316
GCC Administrator [Fri, 18 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234315