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
Jason Merrill [Mon, 20 Feb 2017 06:05:38 +0000 (01:05 -0500)]
PR c++/79470 - partial ordering with reference parameters
* pt.c (unify) [INDIRECT_REF]: Handle pack expansions.
From-SVN: r245589
Jason Merrill [Mon, 20 Feb 2017 06:05:31 +0000 (01:05 -0500)]
PR c++/79500 - ICE with non-template deduction guide
* pt.c (do_class_deduction): Use STRIP_TEMPLATE rather than
DECL_TEMPLATE_RESULT.
From-SVN: r245588
Jason Merrill [Mon, 20 Feb 2017 06:05:08 +0000 (01:05 -0500)]
PR c++/79580 - ICE with compound literal
* parser.c (cp_parser_class_head): If we're in the middle of an
expression, use ts_within_enclosing_non_class.
From-SVN: r245587
Jason Merrill [Mon, 20 Feb 2017 06:03:45 +0000 (01:03 -0500)]
PR c++/79503 - inherited ctor taking base class
* call.c (add_function_candidate): Also check that
DECL_INHERITED_CTOR_BASE is reference-related to the parameter type.
From-SVN: r245586
GCC Administrator [Mon, 20 Feb 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245585
Paul Thomas [Sun, 19 Feb 2017 19:59:20 +0000 (19:59 +0000)]
re PR fortran/79447 ([F08] gfortran rejects valid & accepts invalid internal subprogram in a submodule)
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79447
* decl.c (gfc_set_constant_character_len): Whitespace.
(gfc_match_end): Catch case where a procedure is contained in
a module procedure and ensure that 'end procedure' is the
correct termination.
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79447
* gfortran.dg/submodule_24.f08 : New test.
From-SVN: r245582
Andre Vehreschild [Sun, 19 Feb 2017 18:43:49 +0000 (19:43 +0100)]
re PR fortran/79229 (ICE in gfc_trans_assignment_1 with -fcheck=mem)
gcc/testsuite/ChangeLog:
2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79229
* gfortran.dg/class_allocate_24.f90: New test.
gcc/fortran/ChangeLog:
2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79229
* trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
compiling with -fcheck=mem to check the pointer and not the data.
From-SVN: r245581
Paul Thomas [Sun, 19 Feb 2017 18:27:14 +0000 (18:27 +0000)]
re PR fortran/79402 (ICE with submodules: module procedure interface defined in parent module)
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79402
* resolve.c (fixup_unique_dummy): New function.
(gfc_resolve_expr): Call it for dummy variables with a unique
symtree name.
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79402
* gfortran.dg/submodule_23.f90: New test.
From-SVN: r245580
Andre Vehreschild [Sun, 19 Feb 2017 18:18:33 +0000 (19:18 +0100)]
re PR fortran/79335 (Conditional jump or move depends on uninitialised in value get_scalar_to_descriptor_type(tree_node*, symbol_attribute) (trans-expr.c:53))
gcc/fortran/ChangeLog:
2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79335
* trans-array.c (duplicate_allocatable_coarray): Ensure attributes
passed are properly initialized.
(structure_alloc_comps): Same.
* trans-expr.c (gfc_trans_structure_assign): Same.
From-SVN: r245579
Paolo Carlini [Sun, 19 Feb 2017 17:43:41 +0000 (17:43 +0000)]
re PR c++/79380 (ICE on C++11 code with illegal alignas specifier on x86_64-linux-gnu: unexpected expression ‘f’ of kind overload)
/cp
2017-02-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79380
* typeck.c (cxx_alignas_expr): Reject a non-integral alignas
argument.
/testsuite
2017-02-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79380
* g++.dg/cpp0x/alignas8.C: New.
From-SVN: r245578
Uros Bizjak [Sun, 19 Feb 2017 17:34:27 +0000 (18:34 +0100)]
Revert:
2016-05-30 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
From-SVN: r245577
Dinka Ranns [Sun, 19 Feb 2017 16:04:35 +0000 (16:04 +0000)]
C++17 GB50 resolution (P0505R0)
2017-02-19 Dinka Ranns <dinka.ranns@googlemail.com>
C++17 GB50 resolution
* include/std/chrono (duration::operator++()): Add
_GLIBCXX17_CONSTEXPR.
(duration::operator++(int)): Likewise.
(duration::operator--()): Likewise.
(duration::operator--(int)): Likewise.
(duration::operator+=(const duration&)): Likewise.
(duration::operator-=(const duration&)): Likewise.
(duration::operator*=(const rep&)): Likewise.
(duration::operator/=(const rep&)): Likewise.
(duration::operator%=(const rep&)): Likewise.
(duration::operator%=(const duration&)): Likewise.
(time_point::operator+=(const duration&)): Likewise.
(time_point::operator-=(const duration&)): Likewise.
* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test.
* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
* testsuite/20_util/time_point/arithmetic/constexpr.cc: New test.
From-SVN: r245575
Jonathan Wakely [Sun, 19 Feb 2017 14:13:53 +0000 (14:13 +0000)]
PR c++/69523 make -Wliteral-suffix control warning
gcc:
PR c++/69523
* doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update
description.
gcc/cp:
2017-02-19 Eric Fiselier <eric@efcs.ca>
Jonathan Wakely <jwakely@redhat.com>
PR c++/69523
* parser.c (cp_parser_unqualified_id): Use OPT_Wliteral_suffix to
control warning about literal suffix identifiers without a leading
underscore.
gcc/testsuite:
2017-02-19 Eric Fiselier <eric@efcs.ca>
Jonathan Wakely <jwakely@redhat.com>
PR c++/69523
* g++.dg/cpp0x/Wliteral-suffix2.C: New test.
From-SVN: r245574
Gerald Pfeifer [Sun, 19 Feb 2017 10:54:35 +0000 (10:54 +0000)]
* doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer.
From-SVN: r245572
Prathamesh Kulkarni [Sun, 19 Feb 2017 09:14:38 +0000 (09:14 +0000)]
gimple-parser.c (c_parser_gimple_postfix_expression): Check return value of c_parser_parse_ssa_name against error_mark_node and emit...
2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gimple-parser.c (c_parser_gimple_postfix_expression): Check return
value of c_parser_parse_ssa_name against error_mark_node and emit
error if ssa name is anonymous and written as default definition.
From-SVN: r245571
Prathamesh Kulkarni [Sun, 19 Feb 2017 09:06:30 +0000 (09:06 +0000)]
gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format for FMA_EXPR.
2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format
for FMA_EXPR.
c/
* gimple-parser.c (c_parser_gimple_postfix_expression): Handle
FMA_EXPR.
testsuite/
* gcc.dg/gimplefe-26.c: New test.
From-SVN: r245570
GCC Administrator [Sun, 19 Feb 2017 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245569
Gerald Pfeifer [Sat, 18 Feb 2017 21:15:51 +0000 (21:15 +0000)]
io.xml: Update link to groups.google.com.
* doc/xml/manual/io.xml: Update link to groups.google.com.
Tweak link description.
From-SVN: r245565
Jakub Jelinek [Sat, 18 Feb 2017 16:11:40 +0000 (17:11 +0100)]
final.c (last_columnnum, [...]): New variables.
* final.c (last_columnnum, override_columnnum): New variables.
(final_start_function): Set last_columnnum, pass it to begin_prologue
hook and pass 0 to dwarf2out_begin_prologue.
(final_scan_insn): Update override_columnnum. Pass last_columnnum
to source_line debug hook.
(notice_source_line): Compute last_columnnum and for debug_column_info
return true on column changes.
* debug.h (struct gcc_debug_hooks): Add column argument to
source_line and begin_prologue hooks.
(debug_nothing_int_charstar_int_bool): Remove prototype.
(debug_nothing_int_int_charstar,
debug_nothing_int_int_charstar_int_bool): New prototypes.
(dwarf2out_begin_prologue): Add column argument.
* debug.c (do_nothing_debug_hooks): Adjust source_line and
begin_prologue hooks.
(debug_nothing_int_charstar_int_bool): Remove.
(debug_nothing_int_int_charstar,
debug_nothing_int_int_charstar_int_bool): New functions.
* dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it
through to dwarf2out_source_line.
(dwarf2_lineno_debug_hooks): Adjust begin_prologue hook.
(dwarf2out_source_line): Add column argument, emit it if requested.
* sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column
arguments.
* xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
* xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
* vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it
through to dwarf2out_begin_prologue.
(vmsdbgout_source_line): Add column argument, pass it through to
dwarf2out_source_line.
* dbxout.c (dbxout_begin_prologue): Add column argument, adjust
dbxout_source_line caller.
(dbxout_source_line): Add column argument.
From-SVN: r245564
Jakub Jelinek [Sat, 18 Feb 2017 16:10:43 +0000 (17:10 +0100)]
common.opt (gno-column-info, [...]): New options.
* common.opt (gno-column-info, gcolumn-info): New options.
* dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix.
(check_die): Also test for multiple DW_AT_decl_column attributes.
(add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add
DW_AT_decl_column if requested.
(gen_subprogram_die): Compare and/or add also DW_AT_decl_column
if requested.
(gen_variable_die): Likewise.
(add_call_src_coords_attributes): Add DW_AT_call_column if requested.
* doc/invoke.texi (-gcolumn-info, -gno-column-info): Document.
From-SVN: r245563
John David Anglin [Sat, 18 Feb 2017 14:24:35 +0000 (14:24 +0000)]
thread_local-order2.C: xfail on hppa*-*-hpux*.
* g++.dg/tls/thread_local-order2.C: xfail on hppa*-*-hpux*.
From-SVN: r245562
Jakub Jelinek [Sat, 18 Feb 2017 13:14:43 +0000 (14:14 +0100)]
re PR target/79569 (Unrecognized command line option ‘-m3dnowa’)
PR target/79569
* config/i386/i386.opt (m3dnowa): Replace Undocumented with Report.
* common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define.
(ix86_handle_option): Handle OPT_m3dnowa.
* doc/invoke.texi (-m3dnowa): Document.
* doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use
-m3dnowa instead of -m3dnow -march=athlon.
* gcc.target/i386/3dnowA-3.c: New test.
From-SVN: r245561
Jakub Jelinek [Sat, 18 Feb 2017 13:13:43 +0000 (14:13 +0100)]
re PR target/79559 (ICE in ix86_print_operand, at config/i386/i386.c:18189)
PR target/79559
* config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
instead of gcc_assert for K, r and R code checks. Formatting fixes.
* gcc.target/i386/pr79559.c: New test.
From-SVN: r245560
Gerald Pfeifer [Sat, 18 Feb 2017 08:37:19 +0000 (08:37 +0000)]
* doc/xml/manual/profile_mode.xml: Fix link.
From-SVN: r245559
GCC Administrator [Sat, 18 Feb 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245558
Joseph Myers [Fri, 17 Feb 2017 23:04:14 +0000 (23:04 +0000)]
Restore DECIMAL_DIG macro to C99/C11 value.
By extending the set of floating types, TS 18661-3 thereby affected
the definition of DECIMAL_DIG, which is defined in terms of the
"widest supported floating type". This is not conditional on whether
__STDC_WANT_IEC_60559_TYPES_EXT__ is defined when <float.h> is
included.
I raised this possible incompatibility with C11 (an implementation
should be able to conform simultaneously with C11, and with C11 + TS
18661) in DR#501. This is not yet resolved, but the latest proposal
<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2108.pdf> would
obsolete DECIMAL_DIG with the intention of limiting it to the C11
types (so making it equivalent to LDBL_DECIMAL_DIG). (This proposal
is intended to go along with a corresponding change to TS 18661-3 to
avoid the new types and non-arithmetic interchange encodings affecting
the value of DECIMAL_DIG.)
To avoid releasing GCC 7 with a wider-than-C11 value of DECIMAL_DIG
and possibly reverting back to a C11 value in a future release, this
patch reverts back to the C11 value now. If the proposed resolution
to DR#501 changes again so that DECIMAL_DIG *should* have a
wider-than-C11 value, we can move back to a wider-than-C11 value in
GCC 8.
Bootstrapped with no regressions on x86_64-pc-linux-gnu.
gcc/c-family:
* c-cppbuiltin.c (builtin_define_float_constants): Define
__DECIMAL_DIG__ to the value for long double.
gcc/testsuite:
* gcc.dg/c11-float-2.c: New test.
* gcc.dg/torture/float128-floath.c,
gcc.dg/torture/float128x-floath.c,
gcc.dg/torture/float16-floath.c, gcc.dg/torture/float32-floath.c,
gcc.dg/torture/float32x-floath.c, gcc.dg/torture/float64-floath.c,
gcc.dg/torture/float64x-floath.c: Do not test comparison of
*_DECIMAL_DIG macros with DECIMAL_DIG.
From-SVN: r245555
Jason Merrill [Fri, 17 Feb 2017 22:05:18 +0000 (17:05 -0500)]
PR c++/79508 - lookup error with member template
* parser.c (cp_parser_template_name): Clear
parser->context->object_type if we aren't doing lookup.
From-SVN: r245553
Jason Merrill [Fri, 17 Feb 2017 20:28:38 +0000 (15:28 -0500)]
PR c++/78690 - ICE with using and global type with same name
* pt.c (type_dependent_object_expression_p): True for
IDENTIFIER_NODE.
From-SVN: r245549
Bill Schmidt [Fri, 17 Feb 2017 19:11:06 +0000 (19:11 +0000)]
re PR target/79261 (vec_xxpermdi appears to have endian issues)
[gcc]
2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/79261
* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
* config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
generator for vsx_xxpermdi_<mode>_be.
* config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
force big-endian semantics.
(vsx_xxpermdi_<mode>_be): New define_expand with same
implementation as previous version of vsx_xxpermdi_<mode>.
[gcc/testsuite]
2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/79261
* gcc.target/powerpc/vec-xxpermdi.c: New file.
From-SVN: r245545
Jason Merrill [Fri, 17 Feb 2017 18:42:43 +0000 (13:42 -0500)]
PR c++/79549 - C++17 ICE with non-type auto template parameter pack
* pt.c (convert_template_argument): Just return an auto arg pack.
(tsubst_template_args): Don't tsubst an auto pack type.
From-SVN: r245544
Jason Merrill [Fri, 17 Feb 2017 18:42:37 +0000 (13:42 -0500)]
PR c++/79556 - C++17 ICE with non-type auto
* pt.c (do_auto_deduction): Don't try to deduce from null type.
From-SVN: r245543