Jakub Jelinek [Fri, 24 Feb 2017 20:41:54 +0000 (21:41 +0100)]
re PR c++/79588 (ICE in warn_for_restrict with -Wrestrict)
PR c++/79588
c-family/
* c-common.c (check_function_restrict): New function.
(check_function_arguments): Add FNDECL argument. Call
check_function_restrict if -Wrestrict.
* c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
* c-common.h (check_function_arguments): Add FNDECL argument.
(warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
c/
* c-parser.c (c_parser_postfix_expression_after_primary): Don't
handle -Wrestrict here.
* c-typeck.c (build_function_call_vec): Adjust
check_function_arguments caller.
cp/
* call.c (build_over_call): Call check_function_arguments even for
-Wrestrict, adjust check_function_arguments caller.
* parser.c (cp_parser_postfix_expression): Don't handle -Wrestrict
here.
* typeck.c (cp_build_function_call_vec): Adjust
check_function_arguments caller.
testsuite/
* g++.dg/warn/Wrestrict-1.C: New test.
* g++.dg/warn/Wrestrict-2.C: New test.
From-SVN: r245719
Marek Polacek [Fri, 24 Feb 2017 18:54:13 +0000 (18:54 +0000)]
re PR translation/79705 (cp/decl.c message not marked for translation)
PR translation/79705
* decl.c (check_redeclaration_exception_specification): Mark a string
for translation. Make the pointer const.
From-SVN: r245717
David Edelsohn [Fri, 24 Feb 2017 18:39:44 +0000 (13:39 -0500)]
Require LTO.
Add initial ChangeLog entry.
From-SVN: r245716
Uros Bizjak [Fri, 24 Feb 2017 18:18:57 +0000 (19:18 +0100)]
invoke.texi (x86 Options, [...]): Mention that -mfpmath=sse is the default also for x86-32 targets with SSE2...
* doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that
-mfpmath=sse is the default also for x86-32 targets with SSE2
instruction set when @option{-ffast-math} is enabled
From-SVN: r245715
Jeff Law [Fri, 24 Feb 2017 15:36:10 +0000 (08:36 -0700)]
re PR rtl-optimization/79286 (ira and lra wrong code at -O2 and -Os on i686-linux)
PR rtl-optimizatoin/79286
* ira.c (update_equiv_regs): Drop may_trap_p exception to
dominance test.
From-SVN: r245714
Richard Biener [Fri, 24 Feb 2017 11:51:33 +0000 (11:51 +0000)]
re PR tree-optimization/79389 (30% performance regression in SciMark2 MonteCarlo)
2017-02-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/79389
* gimple-ssa-split-paths.c (is_feasible_trace): Properly skip
debug insns.
From-SVN: r245713
Toma Tabacu [Fri, 24 Feb 2017 11:03:12 +0000 (11:03 +0000)]
Use logical_op_short_circuit to skip targets in ssa-thread-14.c.
gcc/testsuite/
* gcc.dg/tree-ssa/ssa-thread-14.c (dg-options): Use
logical_op_short_circuit to skip targets.
(dg-additional-options): Don't pass -mbranch-cost=2 for MIPS, AVR
and s390.
From-SVN: r245711
Eric Botcazou [Fri, 24 Feb 2017 11:03:08 +0000 (11:03 +0000)]
decl.c (gnat_to_gnu_field): Do not remove the wrapper around a justified modular type if...
* gcc-interface/decl.c (gnat_to_gnu_field): Do not remove the wrapper
around a justified modular type if it doesn't have the same scalar
storage order as the enclosing record type.
From-SVN: r245710
Aldy Hernandez [Fri, 24 Feb 2017 11:02:16 +0000 (11:02 +0000)]
tree-ssa-loop-niter.c (number_of_iterations_exit): Update function comment to reflect reality.
* tree-ssa-loop-niter.c (number_of_iterations_exit): Update
function comment to reflect reality.
(loop_exits_before_overflow): Fix typo in function description.
From-SVN: r245709
Eric Botcazou [Fri, 24 Feb 2017 10:54:00 +0000 (10:54 +0000)]
trans.c (gnat_to_gnu): Do not apply special handling of boolean rvalues to function calls.
* gcc-interface/trans.c (gnat_to_gnu): Do not apply special handling
of boolean rvalues to function calls.
From-SVN: r245706
Eric Botcazou [Fri, 24 Feb 2017 10:48:38 +0000 (10:48 +0000)]
utils.c (fold_bit_position): New function.
* gcc-interface/utils.c (fold_bit_position): New function.
(rest_of_record_type_compilation): Call it instead of bit_position to
compute the field position and remove the call to remove_conversions.
(compute_related_constant): Factor out the multiplication in both
operands, if any, and streamline the final test.
From-SVN: r245704
Eric Botcazou [Fri, 24 Feb 2017 10:35:14 +0000 (10:35 +0000)]
* gcc-interface/trans.c (return_value_ok_for_nrv_p): Add sanity check.
From-SVN: r245701
Eric Botcazou [Fri, 24 Feb 2017 10:21:39 +0000 (10:21 +0000)]
c-ada-spec.c (dump_ada_function_declaration): Add comment about the treatment of parameters with pointer-to-tagged type and...
c-family/
* c-ada-spec.c (dump_ada_function_declaration): Add comment about the
treatment of parameters with pointer-to-tagged type and tidy up.
(print_ada_methods): Remove the special treatment of C++ static member
functions.
ada/
* gcc-interface/decl.c: Include demangle.h.
(is_cplusplus_method): Return again true for a primitive operation
only if it is dispatching. For a subprogram with an interface name,
call the demangler to get the number of C++ parameters and compare it
with the number of Ada parameters.
From-SVN: r245700
Eric Botcazou [Fri, 24 Feb 2017 10:07:45 +0000 (10:07 +0000)]
trans.c (Handled_Sequence_Of_Statements_to_gnu): If there is no end label...
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If
there is no end label, put the location of the At_End procedure on
the call to the procedure.
From-SVN: r245699
Eric Botcazou [Fri, 24 Feb 2017 10:00:04 +0000 (10:00 +0000)]
misc.c (gnat_type_max_size): Try to return a meaningful value for array types with TYPE_INDEX_TYPE set on...
* gcc-interface/misc.c (gnat_type_max_size): Try to return a meaningful
value for array types with TYPE_INDEX_TYPE set on their domain type.
* gcc-interface/utils.c (max_size): For operations and expressions, do
not build a new node if the operands have not changed or are missing.
From-SVN: r245698
Eric Botcazou [Fri, 24 Feb 2017 09:52:31 +0000 (09:52 +0000)]
utils.c (max_size): Flip the second argument when recursing on TRUTH_NOT_EXPR.
* gcc-interface/utils.c (max_size) <tcc_expression>: Flip the second
argument when recursing on TRUTH_NOT_EXPR.
From-SVN: r245697
Richard Biener [Fri, 24 Feb 2017 08:04:31 +0000 (08:04 +0000)]
re PR tree-optimization/79389 (30% performance regression in SciMark2 MonteCarlo)
2017-02-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/79389
* gimple-ssa-split-paths.c (is_feasible_trace): Verify more
properly that a threading opportunity exists. Detect conditional
copy/constant propagation opportunities.
* gcc.dg/tree-ssa/split-path-10.c: New testcase.
From-SVN: r245696
GCC Administrator [Fri, 24 Feb 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245695
Paolo Carlini [Thu, 23 Feb 2017 23:20:58 +0000 (23:20 +0000)]
re PR c++/79361 (ICE redefining a template function as defaulted or deleted)
/cp
2017-02-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79361
* pt.c (register_specialization): Check duplicate_decls return value
for error_mark_node and pass it back.
/testsuite
2017-02-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79361
* g++.dg/cpp0x/pr79361-1.C: New.
* g++.dg/cpp0x/pr79361-2.C: Likewise.
From-SVN: r245692
Eric Botcazou [Thu, 23 Feb 2017 23:04:00 +0000 (23:04 +0000)]
visium.md (type): Add trap.
* config/visium/visium.md (type): Add trap.
(b): New mode attribute.
(*btst): Rename into...
(*btst<mode>): ...this and adjust.
(*cbranchsi4_btst_insn): Rename into...
(*cbranch<mode>4_btst_insn): ...this and adjust.
(trap): New define_insn.
From-SVN: r245691
Jakub Jelinek [Thu, 23 Feb 2017 22:05:19 +0000 (23:05 +0100)]
re PR tree-optimization/79389 (30% performance regression in SciMark2 MonteCarlo)
PR tree-optimization/79389
* ifcvt.c (struct noce_if_info): Add rev_cond field.
(noce_reversed_cond_code): New function.
(noce_emit_store_flag): Use rev_cond if non-NULL instead of
reversed_comparison_code. Formatting fix.
(noce_try_store_flag): Test rev_cond != NULL in addition to
reversed_comparison_code.
(noce_try_store_flag_constants): Likewise.
(noce_try_store_flag_mask): Likewise.
(noce_try_addcc): Use rev_cond if non-NULL instead of
reversed_comparison_code.
(noce_try_cmove_arith): Likewise. Formatting fixes.
(noce_try_minmax, noce_try_abs): Clear rev_cond.
(noce_find_if_block): Initialize rev_cond.
(find_cond_trap): Call noce_get_condition with then_bb == trap_bb
instead of false as last argument never attempt to reverse it
afterwards.
From-SVN: r245690
Bin Cheng [Thu, 23 Feb 2017 22:02:01 +0000 (22:02 +0000)]
re PR tree-optimization/79663 (r244815 causes 10% regression for spec1k/172.mgrid on AArch64)
2017-01-21 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/79663
* tree-predcom.c (combine_chains): Process refs in reverse order
only for ZERO length chains, and add explaining comment.
From-SVN: r245689
Jeff Law [Thu, 23 Feb 2017 21:43:03 +0000 (14:43 -0700)]
re PR tree-optimization/79578 (Unnecessary instructions in generated code)
PR tree-optimization/79578
* tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF
in call to operand_equal_p.
From-SVN: r245688
Jonathan Wakely [Thu, 23 Feb 2017 18:25:22 +0000 (18:25 +0000)]
Ensure <experimental/iterator> includes <iterator>
* include/experimental/iterator: Include <iterator>.
* testsuite/experimental/iterator/requirements.cc: Check for contents
of <iterator>.
From-SVN: r245686
Dominik Vogt [Thu, 23 Feb 2017 15:18:16 +0000 (15:18 +0000)]
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
Richard Biener [Thu, 23 Feb 2017 12:38:39 +0000 (12:38 +0000)]
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
Dominique d'Humieres [Thu, 23 Feb 2017 12:19:05 +0000 (13:19 +0100)]
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
Richard Biener [Thu, 23 Feb 2017 11:43:51 +0000 (11:43 +0000)]
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
Martin Liska [Thu, 23 Feb 2017 08:45:54 +0000 (08:45 +0000)]
Fix typo in ChangeLog
From-SVN: r245678
Martin Liska [Thu, 23 Feb 2017 08:38:35 +0000 (09:38 +0100)]
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
Jakub Jelinek [Thu, 23 Feb 2017 07:49:06 +0000 (08:49 +0100)]
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
Jeff Law [Thu, 23 Feb 2017 05:47:43 +0000 (22:47 -0700)]
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
Jason Merrill [Thu, 23 Feb 2017 01:15:43 +0000 (20:15 -0500)]
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
GCC Administrator [Thu, 23 Feb 2017 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245671
Segher Boessenkool [Wed, 22 Feb 2017 23:50:46 +0000 (00:50 +0100)]
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
Sameera Deshpande [Wed, 22 Feb 2017 23:09:43 +0000 (23:09 +0000)]
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
Jason Merrill [Wed, 22 Feb 2017 22:55:26 +0000 (17:55 -0500)]
* pt.c (do_class_deduction): Handle 0 argument case.
From-SVN: r245665
Jakub Jelinek [Wed, 22 Feb 2017 22:36:20 +0000 (23:36 +0100)]
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
Jakub Jelinek [Wed, 22 Feb 2017 21:33:47 +0000 (22:33 +0100)]
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
Marek Polacek [Wed, 22 Feb 2017 21:28:42 +0000 (21:28 +0000)]
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
Martin Liska [Wed, 22 Feb 2017 21:15:46 +0000 (22:15 +0100)]
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
Marek Polacek [Wed, 22 Feb 2017 19:33:13 +0000 (19:33 +0000)]
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
Marek Polacek [Wed, 22 Feb 2017 19:31:49 +0000 (19:31 +0000)]
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
Bill Schmidt [Wed, 22 Feb 2017 18:00:21 +0000 (18:00 +0000)]
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
Matthew Fortune [Wed, 22 Feb 2017 17:20:14 +0000 (17:20 +0000)]
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
Jakub Jelinek [Wed, 22 Feb 2017 17:17:17 +0000 (18:17 +0100)]
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
Uros Bizjak [Wed, 22 Feb 2017 15:39:03 +0000 (16:39 +0100)]
pr61441.c: Use dg-add-options ieee.
* gcc.dg/pr61441.c: Use dg-add-options ieee.
From-SVN: r245652
Uros Bizjak [Wed, 22 Feb 2017 15:36:24 +0000 (16:36 +0100)]
ChangeLog: Add missing entry.
* ChangeLog: Add missing entry.
* testsuite/ChangeLog: Ditto.
From-SVN: r245651
Richard Biener [Wed, 22 Feb 2017 15:00:39 +0000 (15:00 +0000)]
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
Richard Biener [Wed, 22 Feb 2017 12:11:27 +0000 (12:11 +0000)]
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
Martin Liska [Wed, 22 Feb 2017 09:45:42 +0000 (10:45 +0100)]
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
GCC Administrator [Wed, 22 Feb 2017 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245646
Jason Merrill [Tue, 21 Feb 2017 20:51:03 +0000 (15:51 -0500)]
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
Jason Merrill [Tue, 21 Feb 2017 20:50:57 +0000 (15:50 -0500)]
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
Marek Polacek [Tue, 21 Feb 2017 20:23:09 +0000 (20:23 +0000)]
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
Uros Bizjak [Tue, 21 Feb 2017 18:29:57 +0000 (19:29 +0100)]
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
Jakub Jelinek [Tue, 21 Feb 2017 18:00:35 +0000 (19:00 +0100)]
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
Jakub Jelinek [Tue, 21 Feb 2017 17:59:07 +0000 (18:59 +0100)]
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
Jeff Law [Tue, 21 Feb 2017 17:58:00 +0000 (10:58 -0700)]
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
Jakub Jelinek [Tue, 21 Feb 2017 17:57:23 +0000 (18:57 +0100)]
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
Jakub Jelinek [Tue, 21 Feb 2017 17:48:57 +0000 (18:48 +0100)]
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
Jakub Jelinek [Tue, 21 Feb 2017 17:46:42 +0000 (18:46 +0100)]
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
Jakub Jelinek [Tue, 21 Feb 2017 16:56:11 +0000 (17:56 +0100)]
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
Jakub Jelinek [Tue, 21 Feb 2017 16:55:00 +0000 (17:55 +0100)]
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
Jakub Jelinek [Tue, 21 Feb 2017 16:29:37 +0000 (17:29 +0100)]
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
Aldy Hernandez [Tue, 21 Feb 2017 15:37:18 +0000 (15:37 +0000)]
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
Jakub Jelinek [Tue, 21 Feb 2017 14:39:21 +0000 (15:39 +0100)]
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
Martin Jambor [Tue, 21 Feb 2017 14:01:52 +0000 (15:01 +0100)]
[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
Martin Jambor [Tue, 21 Feb 2017 13:55:32 +0000 (14:55 +0100)]
[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
Matthew Fortune [Tue, 21 Feb 2017 13:29:07 +0000 (13:29 +0000)]
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
Segher Boessenkool [Tue, 21 Feb 2017 12:12:55 +0000 (13:12 +0100)]
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
Martin Liska [Tue, 21 Feb 2017 10:45:35 +0000 (11:45 +0100)]
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
Thomas Schwinge [Tue, 21 Feb 2017 10:42:07 +0000 (11:42 +0100)]
[PR translation/79638] "%ntid.y" confuses gcc.pot generation
gcc/
* config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".
From-SVN: r245623
Kyrylo Tkachov [Tue, 21 Feb 2017 10:09:20 +0000 (10:09 +0000)]
Skip gcc.dg/gimplefe-26.c on non-c99 runtime targets
* gcc.dg/gimplefe-26.c: Require c99_runtime.
From-SVN: r245622
Eric Botcazou [Tue, 21 Feb 2017 08:42:54 +0000 (08:42 +0000)]
re PR ada/67205 (eliminate No_Implicit_Dynamic_Code restriction violations)
PR ada/67205
* config/arm/arm.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
(arm_function_ok_for_sibcall): Return false for an indirect call by
descriptor if all the argument registers are used.
(arm_relayout_function): Use FUNCTION_ALIGNMENT macro to adjust the
alignment of the function.
From-SVN: r245621
Jakub Jelinek [Tue, 21 Feb 2017 08:08:40 +0000 (09:08 +0100)]
re PR tree-optimization/61441 (ARM aarch64 fails to quiet signaling NaN)
PR tree-optimization/61441
* simplify-rtx.c (simplify_const_unary_operation): For
-fsignaling-nans and sNaN operand, return NULL_RTX rather than
the sNaN unmodified.
From-SVN: r245620
Ian Lance Taylor [Tue, 21 Feb 2017 00:23:52 +0000 (00:23 +0000)]
re PR go/79642 (space instead of tab in lang.opt)
PR go/79642
* lang.opt (-fgo-relative-import-path): Change space to tab.
From-SVN: r245619
GCC Administrator [Tue, 21 Feb 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245618
Joseph Myers [Mon, 20 Feb 2017 22:54:30 +0000 (22:54 +0000)]
* de.po: Update.
From-SVN: r245615
Joseph Myers [Mon, 20 Feb 2017 19:08:51 +0000 (19:08 +0000)]
* de.po, fr.po, sv.po: Update.
From-SVN: r245614
Bernd Edlinger [Mon, 20 Feb 2017 18:19:54 +0000 (18:19 +0000)]
Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
instead of SYSTEM_HEADER_DIR.
From-SVN: r245613
Jason Merrill [Mon, 20 Feb 2017 18:18:30 +0000 (13:18 -0500)]
PR c++/78139 - destructor needed by new-expression
* call.c (build_special_member_call): Use tf_no_cleanup.
From-SVN: r245612
Aaron Sawdey [Mon, 20 Feb 2017 17:09:40 +0000 (11:09 -0600)]
strncmp-2.c: Portability fixes.
2017-02-14 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
* gcc.dg/strncmp-2.c: Portability fixes.
From-SVN: r245608
Kelvin Nilsen [Mon, 20 Feb 2017 16:43:03 +0000 (16:43 +0000)]
re PR target/78056 (build failure on Power7)
gcc/testsuite/ChangeLog:
2017-02-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/78056
* gcc.target/powerpc/pr78056-8.c: Remove.
From-SVN: r245607
Gerald Pfeifer [Mon, 20 Feb 2017 16:12:35 +0000 (16:12 +0000)]
invoke.texi (use-after-scope-direct-emission-threshold): Fix typos and grammar, use active voice, and clarify.
* doc/invoke.texi (use-after-scope-direct-emission-threshold):
Fix typos and grammar, use active voice, and clarify.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r245606
Marek Polacek [Mon, 20 Feb 2017 15:50:23 +0000 (15:50 +0000)]
re PR sanitizer/79558 (ICE: Segfault in ubsan_type_descriptor, at ubsan.c:412)
PR sanitizer/79558
* ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null.
* c-c++-common/ubsan/bounds-14.c: New test.
From-SVN: r245605
Marek Polacek [Mon, 20 Feb 2017 15:05:53 +0000 (15:05 +0000)]
re PR middle-end/79537 (ICE in gimplify_expr, at gimplify.c:12009)
PR middle-end/79537
* gimplify.c (gimplify_expr): Handle unused *&&L;.
* gcc.dg/comp-goto-4.c: New.
From-SVN: r245604
Paul Thomas [Mon, 20 Feb 2017 14:17:42 +0000 (14:17 +0000)]
re PR fortran/79599 (typo in diagnostic gfc_error ("DTIO dummy argument at %L be a scalar")
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79599
* interface.c (check_dtio_arg_TKR_intent): Supply 'must'
missing from error message.
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79523
* interface.c (gfc_find_typebound_dtio_proc): Guard test for
flavor attribute by checking that symbol is resolved.
From-SVN: r245603
Jakub Jelinek [Mon, 20 Feb 2017 12:52:21 +0000 (13:52 +0100)]
re PR target/79568 (ICE in extract_insn, at recog.c:2311 for pr70325.c (with -mavx512bw))
PR target/79568
* config/i386/i386.c (ix86_expand_builtin): Handle
OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
ix86_builtins_isa[fcode].isa as a requirement of those
flags and any other flag in the bitmask.
(ix86_init_mmx_sse_builtins): Use 0 instead of
~OPTION_MASK_ISA_64BIT as mask.
* config/i386/i386-builtin.def (__builtin_ia32_rdtsc,
__builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi,
__builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi,
__builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise.
* gcc.target/i386/pr79568-1.c: New test.
* gcc.target/i386/pr79568-2.c: New test.
* gcc.target/i386/pr79568-3.c: New test.
From-SVN: r245602
Matthew Fortune [Mon, 20 Feb 2017 12:07:23 +0000 (12:07 +0000)]
Ensure the mode used to create split registers is suppported
gcc/
PR target/78012
* lra-constraints.c (split_reg): Check requested split mode
is supported by the register.
From-SVN: r245601
Matthew Fortune [Mon, 20 Feb 2017 12:07:14 +0000 (12:07 +0000)]
Partial revert of r243782 to restore previous behavior
gcc/
* lra-constraints.c (simplify_operand_subreg): Remove early
return false.
From-SVN: r245600
Matthew Fortune [Mon, 20 Feb 2017 12:07:06 +0000 (12:07 +0000)]
Tighten condition for converting SUBREG reloads from OP_OUT to OP_INOUT
gcc/
PR target/78660
* lra-constraints.c (curr_insn_transform): Tighten condition
for converting SUBREG reloads from OP_OUT to OP_INOUT.
From-SVN: r245599
Matthew Fortune [Mon, 20 Feb 2017 12:06:56 +0000 (12:06 +0000)]
Handle WORD_REGISTER_OPERATIONS when reloading (subreg (reg))
gcc/
PR target/78660
* lra-constraints.c (curr_insn_transform): Handle
WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
From-SVN: r245598
Paul Thomas [Mon, 20 Feb 2017 10:52:50 +0000 (10:52 +0000)]
re PR fortran/79382 (DTIO ICE)
2017-02-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79382
* decl.c (access_attr_decl): Test for presence of generic DTIO
interface and emit error if not present.
2017-02-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79382
* io/transfer.c (check_dtio_proc): New function.
(formatted_transfer_scalar_read): Use it.
(formatted_transfer_scalar_write): ditto.
2017-02-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79382
* gfortran.dg/dtio_10.f90 : Change test of error message.
* gfortran.dg/dtio_23.f90 : New test.
* gfortran.dg/dtio_24.f90 : New test.
From-SVN: r245596
Paul Thomas [Mon, 20 Feb 2017 09:42:48 +0000 (09:42 +0000)]
re PR fortran/79434 ([submodules] separate module procedure breaks encapsulation)
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79434
* parse.c (check_component, parse_union): Whitespace.
(set_syms_host_assoc): For a derived type, check if the module
in which it was declared is one of the submodule ancestors. If
it is, make the components public. Otherwise, reset attribute
'host_assoc' and set 'use-assoc' so that encapsulation is
preserved.
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79434
* gfortran.dg/submodule_25.f08 : New test.
From-SVN: r245595
Jason Merrill [Mon, 20 Feb 2017 06:06:39 +0000 (01:06 -0500)]
PR c++/78282 - auto template and pack expansion
* pt.c (find_parameter_packs_r): Don't walk into the type of
templates other than template template-parameters.
From-SVN: r245594
Jason Merrill [Mon, 20 Feb 2017 06:06:20 +0000 (01:06 -0500)]
PR c++/79606 - ICE with this->base_member in NSDMI
* class.c (build_base_path): Check processing_template_decl.
From-SVN: r245593
Jason Merrill [Mon, 20 Feb 2017 06:06:03 +0000 (01:06 -0500)]
PR c++/79607 - ICE with T{} initializer
* decl.c (type_dependent_init_p): Check the type of a CONSTRUCTOR.
From-SVN: r245592
Jason Merrill [Mon, 20 Feb 2017 06:05:54 +0000 (01:05 -0500)]
PR c++/79566 - elaborated-type-specifier in range for
* parser.c (cp_parser_simple_declaration): Fix check for type
definition.
From-SVN: r245591
Jason Merrill [Mon, 20 Feb 2017 06:05:45 +0000 (01:05 -0500)]
PR c++/79400 - confusing suggestion of 'noexcept'
* parser.c (cp_parser_exception_specification_opt): Remove
suggestion for deprecated dynamic exception-specification.
From-SVN: r245590