Commit Graph

152119 Commits

Author SHA1 Message Date
GCC Administrator
b1fc8cc8ba Daily bump.
From-SVN: r245524
2017-02-17 00:16:20 +00:00
Alan Modra
a72b242eac re PR rtl-optimization/79286 (ira and lra wrong code at -O2 and -Os on i686-linux)
2017-02-16  Alan Modra  <amodra@gmail.com>

	PR rtl-optimization/79286
	* ira.c (def_dominates_uses): New function.
	(update_equiv_regs): Don't create an equivalence for insns that
	may trap where the register def does not dominate the use.

	* gcc.c-torture/execute/pr79286.c: New.

From-SVN: r245521
2017-02-16 15:56:51 -07:00
Andreas Tobler
9b9ad3606d re PR sanitizer/79562 (sanitizer breaks bootstrap of x86_64-*-freebsd)
2017-02-16  Andreas Tobler  <andreast@gcc.gnu.org>

    PR sanitizer/79562
    * sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry-pick
    upstream r294806.

From-SVN: r245520
2017-02-16 22:23:51 +01:00
Jakub Jelinek
790ecf8532 PR c++/79502 - lost nodiscard attribute
* pt.c (apply_late_template_attributes): Do apply non-dependent
	attributes to types.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r245516
2017-02-16 14:49:19 -05:00
Jason Merrill
dbd0ef6d89 * g++.dg/cpp0x/constexpr-70001-[34].C: Only run as C++14.
From-SVN: r245515
2017-02-16 14:49:13 -05:00
Vladimir Makarov
0a045a1fd8 re PR rtl-optimization/78127 (AArch64 internal compiler error: in lra_eliminate, at lra-eliminations.c:1440)
2017-02-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/78127
	* lra.c (lra): Call lra_eliminate before finish the loop after
	lra_constraint.

From-SVN: r245514
2017-02-16 19:47:15 +00:00
Gerald Pfeifer
68be8f7367 exgettext (BUGURL): Introduce, and use instead of four hardcoded instances.
* exgettext (BUGURL): Introduce, and use instead of four 
	hardcoded instances.

From-SVN: r245513
2017-02-16 19:38:47 +00:00
Jason Merrill
1e163090d5 PR c++/78572 - ICE with self-modifying array initializer
* constexpr.c (cxx_eval_store_expression): The object we're
	initializing is outside the constant-expression.

From-SVN: r245511
2017-02-16 11:42:06 -05:00
Jason Merrill
61cee26030 PR c++/79050 - ICE with undeduced auto and LTO
* decl.c (poplevel): Remove undeduced auto decls.

From-SVN: r245510
2017-02-16 11:42:00 -05:00
Andrew Pinski
31927af6c7 value-unwind.h: New file.
* config/aarch64/value-unwind.h: New file.
	* config.host (aarch64*-*-*): Add aarch64/value-unwind.h
	to tm_file.

From-SVN: r245508
2017-02-16 16:27:42 +00:00
Gerald Pfeifer
60e5333170 policy_data_structures.xml: Simplify and standardize references to boost.org.
* doc/xml/manual/policy_data_structures.xml: Simplify and
	standardize references to boost.org.
	* doc/xml/manual/policy_data_structures_biblio.xml: Ditto.
	* doc/xml/manual/shared_ptr.xml: Ditto.

From-SVN: r245507
2017-02-16 15:25:18 +00:00
Jonathan Wakely
728e81e3bc PR libstdc++/60936 fix length calculation
PR libstdc++/60936
	* src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length
	written to buffer, not length remaining in buffer.

From-SVN: r245505
2017-02-16 12:06:28 +00:00
Jakub Jelinek
bcac0b4dac re PR c++/79512 (ICE: Segfault in gimple_build_call_1, at gimple.c:218)
PR c++/79512
c/
	* c-parser.c (c_parser_omp_target): For -fopenmp-simd
	ignore #pragma omp target even when not followed by identifier.
cp/
	* parser.c (cp_parser_omp_target): For -fopenmp-simd
	ignore #pragma omp target even when not followed by identifier.
testsuite/
	* c-c++-common/gomp/pr79512.c: New test.

From-SVN: r245504
2017-02-16 13:02:24 +01:00
Richard Biener
cc46a51d4f graphite.h: Do not include isl/isl_val_gmp.h, instead include isl/isl_val.h.
2017-02-16  Richard Biener  <rguenther@suse.de>

	* graphite.h: Do not include isl/isl_val_gmp.h, instead include
	isl/isl_val.h.
	* graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
	(gcc_expression_from_isl_expr_int): Use generic isl_val interface.
	* graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
	(isl_val_int_from_wi): New function.
	(extract_affine_gmp): Rename to ...
	(extract_affine_wi): ... this, take a widest_int.
	(extract_affine_int): Just wrap extract_affine_wi.
	(add_param_constraints): Use isl_val_int_from_wi.
	(add_loop_constraints): Likewise, and extract_affine_wi.

From-SVN: r245501
2017-02-16 07:53:53 +00:00
Jeff Law
2c2d5d00f8 re PR middle-end/79521 (Bootstrap failure on i686-linux starting with r245436)
PR middle-end/79521
	* ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling
	ira_init_register_move_cost_if_necessary.

From-SVN: r245500
2017-02-15 23:35:29 -07:00
GCC Administrator
eb7145f5ea Daily bump.
From-SVN: r245499
2017-02-16 00:16:14 +00:00
Joseph Myers
f9f48a5e82 * es.po: Update.
From-SVN: r245496
2017-02-15 20:46:46 +00:00
Jason Merrill
19e8a45feb PR c++/79464 - ICE in IPA with omitted constructor parms
* class.c (build_clone): Also omit parms from TYPE_ARG_TYPES.
	(adjust_clone_args): Adjust.
	(add_method): Remember omitted parms.
	* call.c (add_function_candidate): Likewise.
	* mangle.c (write_method_parms): Likewise.
	* method.c (ctor_omit_inherited_parms): Return false if there are no
	parms to omit.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r245495
2017-02-15 15:29:08 -05:00
Martin Sebor
945c17d8c1 PR c++/79363 - ICE with NSDMI and array
gcc/cp/ChangeLog:

	PR c++/79363
	* init.c (maybe_reject_flexarray_init): New function.
	(perform_member_init): Call it.

gcc/testsuite/ChangeLog:

	PR c++/79363
	* g++.dg/ext/flexary12.C: Adjust.
	* g++.dg/ext/flexary20.C: Same.
	* g++.dg/ext/flexary21.C: Same.
	* g++.dg/ext/flexary22.C: New test.

From-SVN: r245494
2017-02-15 13:28:32 -07:00
Martin Sebor
8daddba8be re PR middle-end/32003 (Undocumented -fdump-tree options)
2017-02-15  Martin Sebor  <msebor@redhat.com>

	PR middle-end/32003
	* doc/invoke.texi (-fdump-final-insns): Replace option accidentally
	removed in a prior commit.

From-SVN: r245493
2017-02-15 13:13:11 -07:00
Bin Cheng
25c9985047 re PR tree-optimization/79347 (vect_do_peeling is messing up profile)
PR tree-optimization/79347
	* tree-vect-loop-manip.c (vect_do_peeling): Maintain profile
	counters during peeling.

	gcc/testsuite
	* gcc.dg/vect/pr79347.c: New test.

From-SVN: r245490
2017-02-15 17:16:29 +00:00
Jakub Jelinek
e72028574f re PR c++/79301 (With -Werror=pedantic outside C++17 mode, __has_cpp_attribute(fallthrough) is nonzero but [[fallthrough]] fails)
PR c++/79301
	* parser.c (cp_parser_std_attribute): Don't pedwarn about
	[[deprecated]] with -std=c++11 and [[fallthrough]] with
	-std=c++11 and -std=c++14.

	* g++.dg/cpp1y/feat-cxx11-neg.C: Remove (with pedwarn) from
	[[deprecated]] comment.
	* g++.dg/cpp1y/feat-cxx98-neg.C: Likewise.
	* g++.dg/cpp1y/feat-cxx11.C: Likewise.
	* g++.dg/cpp1y/attr-deprecated-neg.C: Don't expect warnings for
	[[deprecated]] in -std=c++11.
	* g++.dg/cpp0x/fallthrough2.C: Don't expect warnings for
	[[fallthrough]] in -std=c++11 and -std=c++14.

From-SVN: r245489
2017-02-15 18:10:40 +01:00
Jakub Jelinek
4f5e5fcba8 re PR c++/79288 (TLS model wrong for static data members since r241137)
PR c++/79288
	* decl.c (grokdeclarator): For static data members, handle thread_p
	only after handling inline.

	* g++.dg/tls/pr79288.C: New test.

From-SVN: r245488
2017-02-15 18:09:18 +01:00
Rainer Orth
1eb08f5270 Enable libgomp.c/pr48591.c on __float128 targets
* testsuite/libgomp.c/pr48591.c: Enable on all __float128
	targets.
	Add __float128 options.

From-SVN: r245486
2017-02-15 16:35:54 +00:00
Marek Polacek
c7545f1cb3 re PR c/79515 (ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in do_warn_double_promotion, at c-family/c-warn.c:1867)
PR c/79515
	* c-warn.c (do_warn_double_promotion): Don't warn if an invalid
	conversion has occured.

	* gcc.dg/dfp/pr79515.c: New.

From-SVN: r245485
2017-02-15 16:14:19 +00:00
David Edelsohn
1114b39cdf * g++.dg/cpp0x/pr79296.C: Move dg-do compile directive first.
From-SVN: r245484
2017-02-15 10:37:33 -05:00
Thomas Schwinge
93b87d1ddf Restore Graphite fuse-*.c testing
* Makefile.tpl: Remove HOST_ISLVER.
	(HOST_EXPORTS): Remove ISLVER.
	* Makefile.in: Regenerate.
	gcc/
	* Makefile.in (site.exp): Remove "set ISLVER".
	gcc/testsuite/
	* gcc.dg/graphite/graphite.exp: Merge "fuse_files" into
	"opt_files".

From-SVN: r245483
2017-02-15 15:43:42 +01:00
Jakub Jelinek
fa8db6eaf2 re PR target/79487 (Invalid _Decimal32 comparison on s390x)
PR target/79487
	* real.c (real_from_integer): Call real_convert even for decimal.

	* gcc.dg/dfp/pr79487.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-8.c (TEST): Revert
	2017-02-13 change.

From-SVN: r245477
2017-02-15 13:19:53 +01:00
Dominik Vogt
a0003c78ac PR target/79241: S/390: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
gcc/ChangeLog:

2017-02-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	PR target/79421
	* config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.

From-SVN: r245476
2017-02-15 09:27:57 +00:00
Tim Shen
d255829bbc re PR libstdc++/78723 ([variant] P0393r3: "Making variant greater equal again" is unimplemented)
PR libstdc++/78723
	* include/std/variant (operator<(), operator>(), operator<=(),
	operator>=(), operator==(), operator!=()): Implement P0393R3.
	* testsuite/20_util/variant/compile.cc: Adjust tests.
	* testsuite/20_util/variant/run.cc: Adjust tests.

From-SVN: r245475
2017-02-15 09:01:06 +00:00
Tim Shen
7d5abe42c2 re PR libstdc++/79513 (std::visit doesn't handle references)
PR libstdc++/79513
	* include/std/variant (visit()): Forward variant types to the return
	type detection code.
	* testsuite/20_util/variant/compile.cc: Add test cases.

From-SVN: r245474
2017-02-15 07:38:20 +00:00
GCC Administrator
fdbb46228f Daily bump.
From-SVN: r245464
2017-02-15 00:16:17 +00:00
Andrew Pinski
05a46f600b aarch64-cores.def (thunderx2t99): Move to under 'C" cores and change the partno/implementer to be correct.
2017-02-14  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C"
        cores and change the partno/implementer to be correct.
        (thunderx2t99p1): New core which replaces thunderx2t99 and still has
        the 'B" as the implementer.
        * config/aarch64/aarch64-tune.md: Regenerate.

From-SVN: r245461
2017-02-14 16:09:28 -08:00
Carl Love
8722316bd6 rs6000.c: Add case statement entry to make the xvcvuxdsp built-in argument unsigned.
gcc/ChangeLog:

2017-02-14  Carl Love  <cel@us.ibm.com>

	* config/rs6000/rs6000.c: Add case statement entry to make the
	xvcvuxdsp built-in argument unsigned.
	* config/rs6000/vsx.md: Fix the source and return operand types so they
	match the instruction definitions from the ISA document.  Fix typo
	in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
	statement.

gcc/testsuite/ChangeLog:

2017-01-14  Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/vsx-builtin-3.c: Add missing test case for the
	xvcvsxdsp and xvcvuxdsp instructions.

From-SVN: r245460
2017-02-14 23:11:19 +00:00
Vladimir Makarov
584898ee80 re PR target/79282 ([7 Regresion] FAIL: gcc.target/arm/neon-for-64bits-1.c scan-assembler-times vshr 0)
2017-02-14  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/79282
	* lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add
	member early_clobber_alts.
	* lra-lives.c (reg_early_clobber_p): New.
	(process_bb_lives): Use it.
	* lra.c (new_insn_reg): New arg early_clobber_alts.  Use it.
	(debug_operand_data): Initialize early_clobber_alts.
	(setup_operand_alternative): Set up early_clobber_alts.
	(collect_non_operand_hard_regs): Ditto.  Pass early clobber
	alternatives to new_insn_reg.
	(add_regs_to_insn_regno_info): Add arg early_clobber_alts.  Use
	it.
	(lra_update_insn_regno_info): Pass the new arg.

From-SVN: r245459
2017-02-14 22:17:19 +00:00
Segher Boessenkool
2932fe90d5 rs6000: Fix the vec-adde* testcases once more
David found the vec-adde{,c}-int128.c testcases fail on AIX.  Those
tests should only run on targets that have int128.

This also changes the non-int128 testcases to check for the hardware
they require.


gcc/testsuite/
	* gcc.target/powerpc/vec-adde-int128.c: Only run if int128 exists.
	* gcc.target/powerpc/vec-addec-int128.c: Ditto.
	* gcc.target/powerpc/vec-adde.c: Require vsx_hw, don't require a
	64-bit default target.
	* gcc.target/powerpc/vec-addec.c: Require p8vector_hw, don't require
	a 64-bit default target.

From-SVN: r245453
2017-02-14 21:27:54 +01:00
Jakub Jelinek
622f6b642a re PR middle-end/79505 (Memory leaks in oacc_loop_discover_walk)
PR middle-end/79505
	* omp-offload.c (free_oacc_loop): Release loop->ifns vector.
	(new_oacc_loop_raw): Don't clear already cleared fields.

From-SVN: r245445
2017-02-14 20:40:27 +01:00
Jakub Jelinek
63d0903380 re PR target/79481 (AVX512PF: unmasked gather prefetch intrinsics missing)
PR target/79481
	* config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
	_mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
	_mm512_prefetch_i64gather_ps): New inline functions and macros.

	* gcc.target/i386/sse-14.c (test_2vx): Add void return type.
	(test_3vx): Change return type from int to void. 
	(_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps,
	_mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps,
	_mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd,
	_mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New
	tests.
	* gcc.target/i386/sse-22.c (test_2vx): Add void return type.
	(test_3vx): Change return type from int to void.
	(_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps,
	_mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps,
	_mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd,
	_mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New
	tests.
	* gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Add non-masked
	intrinsic.  Change scan-assembler-times number from 1 to 2.
	* gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Likewise.
	* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Likewise.
	* gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Likewise.
	* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Likewise.
	* gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Likewise.
	* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Likewise.
	* gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Likewise.

From-SVN: r245444
2017-02-14 20:39:17 +01:00
Uros Bizjak
8668fae0b7 re PR middle-end/61225 (Several new failures after r210458 on x86_64-*-* with -m32)
PR middle-end/61225
	* gcc.target/i386/pr49095.c: Add -fno-shrink-wrap to dg-options.
	Use dg-additional-options for ia32 target.  Remove XFAIL.

From-SVN: r245442
2017-02-14 18:54:01 +01:00
Uros Bizjak
95d966091d re PR target/79495 (ICE in extract_constrain_insn, at recog.c:2213)
PR target/79495
	* config/i386/i386.md (*movxf_internal): Add (o,rC) alternative.

testsuite/ChangeLog:

2017-02-14  Uros Bizjak  <ubizjak@gmail.com>

	PR target/79495
	* gcc.target/i386/pr79495.c: New test.

From-SVN: r245441
2017-02-14 18:52:37 +01:00
Marek Polacek
6f207d5810 re PR c++/79420 (ICE on invalid C++ code on x86_64-linux-gnu: in tsubst_copy, at cp/pt.c:14573)
PR c++/79420
	PR c++/79463
	* parser.c (cp_parser_postfix_dot_deref_expression): Avoid
	clobbering if the postfix expression isn't an EXPR_P.

	* g++.dg/cpp1y/pr79463.C: New.
	* g++.dg/template/incomplete10.C: New.
	* g++.dg/template/incomplete9.C: New.

From-SVN: r245440
2017-02-14 17:33:21 +00:00
H.J. Lu
ee139af532 Properly store 128-bit constant in large model
When converting TI store with CONST_INT to V1TI store with CONST_VECTOR
in large model, an extra instruction may be needed to load CONST_VECTOR
into a register.  Insert the extra instruction to the right place.

gcc/

	PR target/79498
	* config/i386/i386.c (timode_scalar_chain::convert_insn): Insert
	the extra instruction to the right place to store 128-bit constant
	when needed.

gcc/testsuite/

	PR target/79498
	* gcc.target/i386/pr79498.c: New test.

From-SVN: r245438
2017-02-14 08:53:22 -08:00
Martin Sebor
bf00c9e080 PR middle-end/79448 - unhelpful -Wformat-truncation=2 warning
gcc/testsuite/ChangeLog:

	PR middle-end/79448
	* gcc.dg/tree-ssa/builtin-snprintf-warn-3.c: New test.
	* gcc.dg/tree-ssa/pr79448-2.c: New test.
	* gcc.dg/tree-ssa/pr79448.c: New test.

gcc/ChangeLog:

	PR middle-end/79448
	* gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX
	  warning for strings of unknown length.

From-SVN: r245437
2017-02-14 09:51:24 -07:00
Jeff Law
355930ab26 re PR target/79404 (h8300: ICE at gcc/ira.c:5541 whilst building libgcc)
PR target/79404
	* ira-costs.c (scan_one_insn): Initialize register move costs
	for pseudos seen in USE/CLOBBER insns.

From-SVN: r245436
2017-02-14 09:44:33 -07:00
Segher Boessenkool
6fa3b207c3 rs6000: Synchronize the --with-cpu list in config.gcc with reality
power, power2, rios, rios1, rios2, rsc, rsc2 support was removed.
rs64a never was a supported option; it's spelled rs64.
power5+ and powerpc64le are supported options but could not be set as
default.


	* config.gcc (supported_defaults) [powerpc*-*-*]: Update.

From-SVN: r245435
2017-02-14 17:32:05 +01:00
Jeff Law
6c022f732a re PR tree-optimization/79095 (spurious stringop-overflow warning)
PR tree-optimization/79095
	* tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR,
	if the numerator has the range ~[0,0] make the resultant range ~[0,0].
	(extract_range_from_binary_expr): For MINUS_EXPR with no derived range,
	if the operands are known to be not equal, then the resulting range
	is ~[0,0].
	(intersect_ranges): If the new range is ~[0,0] and the old range is
	wide, then prefer ~[0,0].
	* tree-vrp.c (overflow_comparison_p_1): New function.
	(overflow_comparison_p): New function.
	* tree-vrp.c (register_edge_assert_for_2): Register additional asserts
	if NAME is used in an overflow test.
	(vrp_evaluate_conditional_warnv_with_ops): If the ops represent an
	overflow check that can be expressed as an equality test, then adjust
	ops to be that equality test.

	PR tree-optimization/79095
	* g++.dg/pr79095-1.C: New test
	* g++.dg/pr79095-2.C: New test
	* g++.dg/pr79095-3.C: New test
	* g++.dg/pr79095-4.C: New test
	* g++.dg/pr79095-5.C: New test
	* gcc.c-torture/execute/arith-1.c: Update with more cases.
	* gcc.dg/tree-ssa/pr79095-1.c: New test.

From-SVN: r245434
2017-02-14 08:54:09 -07:00
Andreas Krebbel
c145a51018 S/390: Cleanup: Remove builtin type flags.
With the target attribute stuff the only user of the builtin types
flags value has been removed.  So drop that value from the builtin
types list entirely.

gcc/ChangeLog:

2017-02-14  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/s390-builtin-types.def: Remove flags argument.
	* config/s390/s390.c (s390_init_builtins): Likewise.

From-SVN: r245432
2017-02-14 15:38:02 +00:00
Martin Liska
4a44a5f3eb Fix memory leak in LTO
2017-02-14  Martin Liska  <mliska@suse.cz>

	* lto.c (do_stream_out): Free LTO file filename string.

From-SVN: r245431
2017-02-14 14:56:11 +00:00
Martin Liska
da9cd04455 Fix memory leak in tree-ssa-loop-unswitch.c
2017-02-14  Martin Liska  <mliska@suse.cz>

	* tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
	vector.  Fix trailing white spaces.

From-SVN: r245430
2017-02-14 14:54:55 +00:00
James Greenhalgh
b719f884b4 [Patch AArch64] Use 128-bit vectors when autovectorizing 16-bit float types
gcc/

	* config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle
	HFmode.

gcc/testsuite/

	* gcc.target/aarch64/vect_fp16_1.c: New.

From-SVN: r245429
2017-02-14 14:48:33 +00:00