Commit Graph

152092 Commits

Author SHA1 Message Date
Jonathan Wakely
cb701078b1 Ensure <experimental/iterator> includes <iterator>
* include/experimental/iterator: Include <iterator>.
	* testsuite/experimental/iterator/requirements.cc: Check for contents
	of <iterator>.

From-SVN: r245686
2017-02-23 18:25:22 +00:00
Dominik Vogt
17885cad6a PR 68749: S/390: Disable ifcvt-4.c for -m31.
gcc/testsuite/ChangeLog:

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

	PR 68749
	* gcc.dg/ifcvt-4.c: Disable for -m31, use -march=z196.

From-SVN: r245684
2017-02-23 15:18:16 +00:00
Richard Biener
5d972e66ba re PR c/79684 (Conditional jump or move depends on uninitialised value in GIMPLE FE)
2017-02-23  Richard Biener  <rguenther@suse.de>

	PR c/79684
	* gimple-parser.c (c_parser_gimple_statement): Use set_error
	to initialize c_exprs to return.
	(c_parser_gimple_binary_expression): Likewise.
	(c_parser_gimple_unary_expression): Likewise.
	(c_parser_gimple_postfix_expression): Likewise.

From-SVN: r245681
2017-02-23 12:38:39 +00:00
Dominique d'Humieres
f3ffa342ea re PR target/71017 (libgcc/config/i386/cpuinfo.c:346:17: runtime error: left shift of 1 by 31 places cannot be represented in type 'int')
2017-01-23  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR target/71017
	* config/i386/cpuid.h: Fix another undefined behavior.

From-SVN: r245680
2017-02-23 13:19:05 +01:00
Richard Biener
45f7faf0b5 re PR tree-optimization/79683 (SLP vectorizer drops gs: prefix)
2017-02-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79683
	* tree-vect-stmts.c (vect_analyze_stmt): Do not overwrite
	vector types for data-refs.

	* gcc.target/i386/pr79683.c: New testcase.

From-SVN: r245679
2017-02-23 11:43:51 +00:00
Martin Liska
06393a9754 Fix typo in ChangeLog
From-SVN: r245678
2017-02-23 08:45:54 +00:00
Martin Liska
91ebcfce9a Change default of param not being smaller that min.
2017-02-23  Martin Liska  <mliska@suse.cz>

	* params.def (PARAM_MIN_NONDEBUG_INSN_UID): Change default to 0.

From-SVN: r245677
2017-02-23 08:38:35 +00:00
Jakub Jelinek
b607e75e25 re PR middle-end/79665 (gcc's signed (x*x)/200 is slower than clang's)
PR middle-end/79665
	* internal-fn.c (get_range_pos_neg): Moved to ...
	* tree.c (get_range_pos_neg): ... here.  No longer static.
	* tree.h (get_range_pos_neg): New prototype.
	* expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments
	are known to be in between 0 and signed maximum inclusive, try to
	expand both unsigned and signed divmod and use the cheaper one from
	those.

From-SVN: r245676
2017-02-23 08:49:06 +01:00
Jeff Law
18eb304e5f re PR tree-optimization/79578 (Unnecessary instructions in generated code)
PR tree-optimization/79578
	* tree-ssa-dse.c (clear_bytes_written_by): Use operand_equal_p
	to compare base operands.

	PR tree-optimization/79578
	* g++.dg/tree-ssa/ssa-dse-3.C: New test.

From-SVN: r245675
2017-02-22 22:47:43 -07:00
Jason Merrill
680ed1065a PR c++/79679 - missing destructor for argument
PR c++/79679 - missing destructor for argument
	* call.c (build_over_call): Don't pass tf_no_cleanup to argument
	conversions.

From-SVN: r245672
2017-02-22 20:15:43 -05:00
GCC Administrator
a4759f362f Daily bump.
From-SVN: r245671
2017-02-23 00:16:20 +00:00
Segher Boessenkool
c5f06528e5 rs6000: Fix fsel pattern (PR79211)
The fsel define_insn uses fpr_reg_operand for its predicates.  This
won't work because passes can put a hard register in the operands: in
the testcase, combine likes to forward the parameter registers to what
then is still an smin, and then split1 uses "*s<minmax><mode>3_fpr"
(which has gpc_reg_operand).  And then we have a GPR in the operand,
which does not match fpr_reg_operand.

It seems to me the predicates should be gpc_reg_operand here as well.
This patch changes that.


	PR target/79211
	* config/rs6000/rs6000.md (*fsel<SFDF:mode><SFDF2:mode>4): Use
	gpc_reg_operand instead of fpr_reg_operand.

From-SVN: r245667
2017-02-23 00:50:46 +01:00
Sameera Deshpande
0a864a97e9 Fix MIPS o32 calling convention for MSA and FP vector types
gcc/
	* config/mips/mips.c (mips_return_in_memory): Force FP
	vector types to be returned in memory for o32 ABI.

gcc/testsuite/

	* gcc.target/mips/msa-fp-cc.c: New test.

From-SVN: r245666
2017-02-22 23:09:43 +00:00
Jason Merrill
349c635163 * pt.c (do_class_deduction): Handle 0 argument case.
From-SVN: r245665
2017-02-22 17:55:26 -05:00
Jakub Jelinek
e40b6fc7a1 re PR c++/79664 (ICE with #pragma omp parallel in constexpr function)
PR c++/79664
	* parser.c (cp_parser_omp_teams, cp_parser_omp_target): Use
	SET_EXPR_LOCATION on OMP_TARGET/OMP_TEAMS tree.
	* constexpr.c (potential_constant_expression_1): Handle
	OMP_*, OACC_* and CILK_* trees.  Use error_at with
	EXPR_LOC_OR_LOC (t, input_location) computed early
	instead of error, or error_at with location_of (t).

	* g++.dg/gomp/teams-1.C: Adjust expected diagnostic location.
	* g++.dg/cpp1y/constexpr-throw.C: Likewise.
	* g++.dg/gomp/pr79664.C: New test.

From-SVN: r245662
2017-02-22 23:36:20 +01:00
Jakub Jelinek
fe8ece053b dwarf2out.c (gen_variable_die): For -gdwarf-5...
* dwarf2out.c (gen_variable_die): For -gdwarf-5, use DW_TAG_variable
	instead of DW_TAG_member for static data member declarations and don't
	set no_linkage_name for static inline data members.
	(gen_member_die): For -gdwarf-5 don't change DW_TAG_variable
	to DW_TAG_member.

	* g++.dg/debug/dwarf2/inline-var-2.C: New test.

From-SVN: r245661
2017-02-22 22:33:47 +01:00
Marek Polacek
61ac5ebe61 re PR c/79662 (ICE on invalid code in convert_arguments in c/c-typeck.c:3452)
PR c/79662
	* c-typeck.c (convert_arguments): Handle error_mark_node.

	* gcc.dg/enum-incomplete-4.c: New test.

From-SVN: r245660
2017-02-22 21:28:42 +00:00
Martin Liska
54dcd52676 instead of -Wnormalized=<options>
2017-02-22  Martin Liska  <mliska@suse.cz>

	* doc/invoke.texi: Replace inequality signs with square brackets
	for -Wnornalized.
2017-02-22  Martin Liska  <mliska@suse.cz>

	* c.opt: Replace inequality signs with square brackets
	for -Wnornalized.

From-SVN: r245659
2017-02-22 21:15:46 +00:00
Marek Polacek
8fdddd3d83 re PR c++/79657 (ICE on invalid c++ code in finish_underlying_type cp/semantics.c:3849)
PR c++/79657
	* semantics.c (finish_underlying_type): Bail out for incomplete enums.

	* g++.dg/ext/underlying_type12.C: New test.

From-SVN: r245658
2017-02-22 19:33:13 +00:00
Marek Polacek
78af14ae0e re PR c++/79653 (ICE on invalid c++ code in cp_check_const_attributes in cp/decl2.c:1423)
PR c++/79653
	* parser.c (cp_parser_std_attribute_spec): Don't build the attribute
	if the alignas expression is erroneous.
	* pt.c (tsubst_attribute): If tsubst_pack_expansion fails, return
	error_mark_node.

	* g++.dg/cpp0x/alignas10.C: New test.
	* g++.dg/cpp0x/alignas9.C: New test.

From-SVN: r245657
2017-02-22 19:31:49 +00:00
Bill Schmidt
3b2a007843 re PR tree-optimization/68644 (FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI <p_" 1)
2017-02-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/68644
	* gcc.dg/tree-ssa/ivopts-lt-2.c: Skip for powerpc*-*-*.

From-SVN: r245656
2017-02-22 18:00:21 +00:00
Matthew Fortune
198075e1c9 Support WORD_REGISTER_OPERATIONS requirements in simplify_operand_subreg
gcc/
	PR target/78660
	* lra-constraints.c (simplify_operand_subreg): Handle
	WORD_REGISTER_OPERATIONS targets.

From-SVN: r245655
2017-02-22 17:20:14 +00:00
Jakub Jelinek
888c705092 re PR target/70465 (Poor code for x87 asm)
PR target/70465
	* reg-stack.c (emit_swap_insn): Treat (float_extend:?F (mem:?F))
	and (const_double:?F) like (mem:?F) for the purpose of fxch %st(1)
	elimination by swapping fld*.

	* gcc.target/i386/pr70465-2.c: New test.

From-SVN: r245654
2017-02-22 18:17:17 +01:00
Uros Bizjak
6d3daa1afb pr61441.c: Use dg-add-options ieee.
* gcc.dg/pr61441.c: Use dg-add-options ieee.

From-SVN: r245652
2017-02-22 16:39:03 +01:00
Uros Bizjak
b86fec684a ChangeLog: Add missing entry.
* ChangeLog: Add missing entry.
	* testsuite/ChangeLog: Ditto.

From-SVN: r245651
2017-02-22 16:36:24 +01:00
Richard Biener
76dd203e1b re PR middle-end/79673 (GIMPLE verification fails when compiling code with __seg_gs)
2017-02-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79673
	* tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to
	convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off
	irrelevant address-space qualifiers and avoiding a
	ADDR_SPACE_CONVERT_EXPR from fold_convert.

	* gcc.target/i386/pr79673.c: New testcase.

From-SVN: r245649
2017-02-22 15:00:39 +00:00
Richard Biener
a9c774d2ae re PR tree-optimization/79666 (wrong code (SIGFPE) at -O2 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))
2017-02-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79666
	* tree-vrp.c (extract_range_from_binary_expr_1): Make sure
	to not symbolically negate if that may introduce undefined
	overflow.

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

From-SVN: r245648
2017-02-22 12:11:27 +00:00
Martin Liska
8f4f841a3e Remove wrong assert about gcov_type (PR lto/79587).
2017-02-22  Martin Liska  <mliska@suse.cz>

	PR lto/79587
	* data-streamer-in.c (streamer_read_gcov_count): Remove assert.
	* data-streamer-out.c (streamer_write_gcov_count_stream):
	Likewise.
	* value-prof.c (stream_out_histogram_value): Make assert more
	precise based on type of counter.
2017-02-22  Martin Liska  <mliska@suse.cz>

	PR lto/79587
	* gcc.dg/tree-prof/pr79587.c: New test.

From-SVN: r245647
2017-02-22 09:45:42 +00:00
GCC Administrator
bac4371a6a Daily bump.
From-SVN: r245646
2017-02-22 00:16:16 +00:00
Jason Merrill
626aeaa7ac PR c++/50308 - wrong deprecated warning with ADL
PR c++/17729 - duplicate deprecated warning
	* semantics.c (finish_id_expression): Only call mark_used on a
	function if we aren't building a call.

From-SVN: r245643
2017-02-21 15:51:03 -05:00
Jason Merrill
46b48ef565 PR c++/41727 - ICE with partial spec of partial instantiation
* pt.c (process_partial_specialization): For now, don't check more
	specialized if there is more than one level of args.

From-SVN: r245642
2017-02-21 15:50:57 -05:00
Marek Polacek
a232a1cb17 re PR c++/79535 (ICE in verify_ctor_sanity, at cp/constexpr.c:2636)
PR c++/79535
	* cp-tree.h (maybe_reject_flexarray_init): Declare.
	* init.c (maybe_reject_flexarray_init): No longer static.
	Add check for current_function_decl.
	* parser.c (cp_parser_late_parse_one_default_arg): Reject
	a default mem-initializer for a flexible array.

	* g++.dg/ext/flexary23.C: New test.

From-SVN: r245641
2017-02-21 20:23:09 +00:00
Uros Bizjak
a2b48844ed re PR rtl-optimization/79593 (Poor/Worse code generation for FPU on versions after 6)
PR target/79593
	* config/i386/i386.md (standard_x87sse_constant_load splitter):
	Use nonimmediate_operand instead of memory_operand for operand 1.
	(float-extend standard_x87sse_constant_load splitter): Ditto.

testsuite/ChangeLog:

	PR target/79593
	* gcc.target/i386/pr79593.c: New test.

From-SVN: r245640
2017-02-21 19:29:57 +01:00
Jakub Jelinek
b7280ac270 re PR c++/79654 (ICE on invalid c++ code in register_dtor_fn in cp/decl.c:7877)
PR c++/79654
	* decl.c (cp_finish_decomp): Don't set decl's type to error_mark_node
	on error.
	* pt.c (tsubst_decomp_names): Return error_mark_node if the first
	decl after the decomposition artificial decl has error_mark_node.
	* decl2.c (prune_vars_needing_no_initialization): Use error_operand_p
	instead of just == error_mark_node comparison.

	* g++.dg/cpp1z/decomp26.C: New test.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r245639
2017-02-21 19:00:35 +01:00
Jakub Jelinek
5c3f1d7b10 re PR sanitizer/79589 (ICE in gimplify_compound_expr (gimplify.c:5712) with -fsanitize=undefined)
PR sanitizer/79589
	* decl.c: Include gimplify.h.
	(cp_finish_decomp): Make sure there is no sharing of trees
	in between DECL_VALUE_EXPR of decomposition decls.

	* g++.dg/ubsan/pr79589.C: New test.

From-SVN: r245638
2017-02-21 18:59:07 +01:00
Jeff Law
1486c2a780 re PR tree-optimization/79621 (Missed path isolation opportunity)
PR tree-optimization/79621
	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore
	blocks with edges to themselves.

	PR tree-optimization/79621
	* gcc.c-torture/compile/pr79621.c: New test.

From-SVN: r245637
2017-02-21 10:58:00 -07:00
Jakub Jelinek
3bb4311904 re PR c++/79655 (ICE on invalid c++ code in cxx_eval_store_expression in cp/constexpr.c:3464)
PR c++/79655
	* constexpr.c (cxx_eval_array_reference): Diagnose negative subscript.

	* g++.dg/cpp1y/constexpr-79655.C: New test.

From-SVN: r245636
2017-02-21 18:57:23 +01:00
Jakub Jelinek
664beaf2c1 re PR c++/79639 (ICE with -O and constexpr)
PR c++/79639
	* constexpr.c (cxx_eval_store_expression): If *valp is a PTRMEM_CST,
	call cplus_expand_constant on it first.

	* g++.dg/cpp1y/constexpr-79639.C: New test.

From-SVN: r245635
2017-02-21 18:48:57 +01:00
Jakub Jelinek
956d3e61a0 re PR target/79633 (ICE in gimple_call_arg, at gimple.h:3163)
PR target/79633
	* tree-chkp-opt.c (chkp_optimize_string_function_calls): Use
	is_gimple_call instead of comparing gimple_code with GIMPLE_CALL.
	Use gimple_call_builtin_p.

	* gcc.target/i386/mpx/pr79633.c: New test.

From-SVN: r245634
2017-02-21 18:46:42 +01:00
Jakub Jelinek
d4cbfca47f re PR target/79570 (ICE in sel-sched-ir.c:4534 in pr69956.c)
PR target/79570
	* sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
	on temporarily removed DEBUG_INSNs.

	* gcc.dg/pr79570.c: New test.

From-SVN: r245633
2017-02-21 17:56:11 +01:00
Jakub Jelinek
00bc9de3fe re PR c++/79641 (ICE with const variable and attribute)
PR c++/79641
	* c-attribs.c (handle_mode_attribute): Use build_qualified_type to
	preserve quals.

	* c-c++-common/pr79641.c: New test.

From-SVN: r245632
2017-02-21 17:55:00 +01:00
Jakub Jelinek
d002d099b0 re PR middle-end/79649 (Memset pattern in named address space crashes compiler or generates wrong code)
PR tree-optimization/79649
	* tree-loop-distribution.c (classify_partition): Give up on
	non-generic address space loads/stores.

	* gcc.target/i386/pr79649.c: New test.

From-SVN: r245631
2017-02-21 17:29:37 +01:00
Aldy Hernandez
5daaf2d5d9 loop.texi (Loop manipulation): Remove nonexistent tree_ssa_loop_version from the documentation.
* doc/loop.texi (Loop manipulation): Remove nonexistent
	tree_ssa_loop_version from the documentation.
	* cfgloopmanip.c (loop_version): Document CONDITION_BB argument.

From-SVN: r245630
2017-02-21 15:37:18 +00:00
Jakub Jelinek
2f3ec56d60 re PR target/79494 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2330)
PR target/79494
	* config/i386/i386.c (ix86_expand_split_stack_prologue): Call
	make_reg_eh_region_note_nothrow_nononlocal on call_insn.
	* config/rs6000/rs6000.c: Include except.h.
	(rs6000_expand_split_stack_prologue): Call
	make_reg_eh_region_note_nothrow_nononlocal on the call insn.

	* gcc.dg/pr79494.c: New test.

From-SVN: r245629
2017-02-21 15:39:21 +01:00
Martin Jambor
03108bad95 [PR 79579] Avoid segfault on NULL ipa_edge_args_vector
2017-02-21  Martin Jambor  <mjambor@suse.cz>

	PR lto/79579
	* ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
	have been analyzed.

From-SVN: r245628
2017-02-21 15:01:52 +01:00
Martin Jambor
781176469e [PATCH] Properly deprecate -fipa-cp-alignment
2017-02-21  Martin Jambor  <mjambor@suse.cz>

	* common.opt (-fipa-cp-alignment): Mark as ignored and preserved
	for backward compatibility only.
	* doc/invoke.texi (Option Summary): Remove all references to
	-fipa-cp-alignment.

From-SVN: r245627
2017-02-21 14:55:32 +01:00
Matthew Fortune
549a6181ec Revert r245598
gcc/
	PR target/78660
	Revert:
	2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>

	* lra-constraints.c (curr_insn_transform): Handle
	WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.

From-SVN: r245626
2017-02-21 13:29:07 +00:00
Segher Boessenkool
e6655a5f98 Add -Wno-psabi to diagnostic-test-expressions-1.c options
Without this the test fails on 32-bit PowerPC.


gcc/testsuite/
	* gcc.dg/plugin/diagnostic-test-expressions-1.c: Add -Wno-psabi
	to dg-options.

From-SVN: r245625
2017-02-21 13:12:55 +01:00
Martin Liska
a156b0f10c Fix typo in -masm-dialect option values.
2017-02-21  Martin Liska  <mliska@suse.cz>

	* config/i386/i386.opt: Replace -masm-dialect with -masm.

From-SVN: r245624
2017-02-21 10:45:35 +00:00
Thomas Schwinge
3c5b4c6dd9 [PR translation/79638] "%ntid.y" confuses gcc.pot generation
gcc/
	* config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".

From-SVN: r245623
2017-02-21 11:42:07 +01:00