Commit Graph

152073 Commits

Author SHA1 Message Date
Richard Biener
1dc5814cc5 re PR inline-asm/79552 (Wrong code generation due to -fschedule-insns, with __restrict__ and inline asm)
2017-02-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79552
	* tree-ssa-structalias.c (visit_loadstore): Properly verify
	default defs.

From-SVN: r245528
2017-02-17 10:43:27 +00:00
Richard Biener
c265c2dd6f re PR bootstrap/79567 (Compiler-warning "unknown escape sequence '\x'" about genmatch-generated C-files on mingw-host)
2017-02-17  Richard Biener  <rguenther@suse.de>

	PR bootstrap/79567
	* genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2.

From-SVN: r245527
2017-02-17 10:19:21 +00:00
Marek Polacek
5bf69d74ab re PR middle-end/79536 (ICE in fold_binary_loc, at fold-const.c:9060)
PR middle-end/79536
	* fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr.
	(fold_negate_expr): New wrapper.

	* gcc.dg/torture/pr79536.c: New test.

From-SVN: r245526
2017-02-17 09:51:38 +00:00
Sandra Loosemore
6a011df26e invoke.texi (C++ Dialect Options): Correct terminology and de-emphasize pre-standard behavior.
2017-02-16  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]: 
	Correct terminology and de-emphasize pre-standard behavior.

From-SVN: r245525
2017-02-16 23:48:36 -05:00
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