gcc.git
7 years agore PR c++/79664 (ICE with #pragma omp parallel in constexpr function)
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

7 years agodwarf2out.c (gen_variable_die): For -gdwarf-5...
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

7 years agore PR c/79662 (ICE on invalid code in convert_arguments in c/c-typeck.c:3452)
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

7 years agoinstead of -Wnormalized=<options>
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

7 years agore PR c++/79657 (ICE on invalid c++ code in finish_underlying_type cp/semantics.c...
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

7 years agore PR c++/79653 (ICE on invalid c++ code in cp_check_const_attributes in cp/decl2...
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

7 years agore PR tree-optimization/68644 (FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump...
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

7 years agoSupport WORD_REGISTER_OPERATIONS requirements in simplify_operand_subreg
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

7 years agore PR target/70465 (Poor code for x87 asm)
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

7 years agopr61441.c: Use dg-add-options ieee.
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

7 years agoChangeLog: Add missing entry.
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

7 years agore PR middle-end/79673 (GIMPLE verification fails when compiling code with __seg_gs)
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

7 years agore PR tree-optimization/79666 (wrong code (SIGFPE) at -O2 on x86_64-linux-gnu (in...
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

7 years agoRemove wrong assert about gcov_type (PR lto/79587).
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

7 years agoDaily bump.
GCC Administrator [Wed, 22 Feb 2017 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r245646

7 years agoPR c++/50308 - wrong deprecated warning with ADL
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

7 years agoPR c++/41727 - ICE with partial spec of partial instantiation
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

7 years agore PR c++/79535 (ICE in verify_ctor_sanity, at cp/constexpr.c:2636)
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

7 years agore PR rtl-optimization/79593 (Poor/Worse code generation for FPU on versions after 6)
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

7 years agore PR c++/79654 (ICE on invalid c++ code in register_dtor_fn in cp/decl.c:7877)
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

7 years agore PR sanitizer/79589 (ICE in gimplify_compound_expr (gimplify.c:5712) with -fsanitiz...
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

7 years agore PR tree-optimization/79621 (Missed path isolation opportunity)
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

7 years agore PR c++/79655 (ICE on invalid c++ code in cxx_eval_store_expression in cp/constexpr...
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

7 years agore PR c++/79639 (ICE with -O and constexpr)
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

7 years agore PR target/79633 (ICE in gimple_call_arg, at gimple.h:3163)
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

7 years agore PR target/79570 (ICE in sel-sched-ir.c:4534 in pr69956.c)
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

7 years agore PR c++/79641 (ICE with const variable and attribute)
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

7 years agore PR middle-end/79649 (Memset pattern in named address space crashes compiler or...
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

7 years agoloop.texi (Loop manipulation): Remove nonexistent tree_ssa_loop_version from the...
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

7 years agore PR target/79494 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2330)
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

7 years ago[PR 79579] Avoid segfault on NULL ipa_edge_args_vector
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

7 years ago[PATCH] Properly deprecate -fipa-cp-alignment
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

7 years agoRevert r245598
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

7 years agoAdd -Wno-psabi to diagnostic-test-expressions-1.c options
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

7 years agoFix typo in -masm-dialect option values.
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

7 years ago[PR translation/79638] "%ntid.y" confuses gcc.pot generation
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

7 years agoSkip gcc.dg/gimplefe-26.c on non-c99 runtime targets
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

7 years agore PR ada/67205 (eliminate No_Implicit_Dynamic_Code restriction violations)
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

7 years agore PR tree-optimization/61441 (ARM aarch64 fails to quiet signaling NaN)
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

7 years agore PR go/79642 (space instead of tab in lang.opt)
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

7 years agoDaily bump.
GCC Administrator [Tue, 21 Feb 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r245618

7 years ago* de.po: Update.
Joseph Myers [Mon, 20 Feb 2017 22:54:30 +0000 (22:54 +0000)]
* de.po: Update.

From-SVN: r245615

7 years ago* de.po, fr.po, sv.po: Update.
Joseph Myers [Mon, 20 Feb 2017 19:08:51 +0000 (19:08 +0000)]
* de.po, fr.po, sv.po: Update.

From-SVN: r245614

7 years agoMakefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
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

7 years agoPR c++/78139 - destructor needed by new-expression
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

7 years agostrncmp-2.c: Portability fixes.
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

7 years agore PR target/78056 (build failure on Power7)
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

7 years agoinvoke.texi (use-after-scope-direct-emission-threshold): Fix typos and grammar, use...
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

7 years agore PR sanitizer/79558 (ICE: Segfault in ubsan_type_descriptor, at ubsan.c:412)
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

7 years agore PR middle-end/79537 (ICE in gimplify_expr, at gimplify.c:12009)
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

7 years agore PR fortran/79599 (typo in diagnostic gfc_error ("DTIO dummy argument at %L be...
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

7 years agore PR target/79568 (ICE in extract_insn, at recog.c:2311 for pr70325.c (with -mavx512bw))
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

7 years agoEnsure the mode used to create split registers is suppported
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

7 years agoPartial revert of r243782 to restore previous behavior
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

7 years agoTighten condition for converting SUBREG reloads from OP_OUT to OP_INOUT
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

7 years agoHandle WORD_REGISTER_OPERATIONS when reloading (subreg (reg))
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

7 years agore PR fortran/79382 (DTIO ICE)
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

7 years agore PR fortran/79434 ([submodules] separate module procedure breaks encapsulation)
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

7 years agoPR c++/78282 - auto template and pack expansion
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

7 years agoPR c++/79606 - ICE with this->base_member in NSDMI
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

7 years agoPR c++/79607 - ICE with T{} initializer
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

7 years agoPR c++/79566 - elaborated-type-specifier in range for
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

7 years agoPR c++/79400 - confusing suggestion of 'noexcept'
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

7 years agoPR c++/79470 - partial ordering with reference parameters
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

7 years agoPR c++/79500 - ICE with non-template deduction guide
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

7 years agoPR c++/79580 - ICE with compound literal
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

7 years agoPR c++/79503 - inherited ctor taking base class
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

7 years agoDaily bump.
GCC Administrator [Mon, 20 Feb 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r245585

7 years agore PR fortran/79447 ([F08] gfortran rejects valid & accepts invalid internal subprogr...
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

7 years agore PR fortran/79229 (ICE in gfc_trans_assignment_1 with -fcheck=mem)
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

7 years agore PR fortran/79402 (ICE with submodules: module procedure interface defined in paren...
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

7 years agore PR fortran/79335 (Conditional jump or move depends on uninitialised in value ...
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

7 years agore PR c++/79380 (ICE on C++11 code with illegal alignas specifier on x86_64-linux...
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

7 years agoRevert:
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

7 years agoC++17 GB50 resolution (P0505R0)
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

7 years agoPR c++/69523 make -Wliteral-suffix control warning
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

7 years ago* doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer.
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

7 years agogimple-parser.c (c_parser_gimple_postfix_expression): Check return value of c_parser_...
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

7 years agogimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format for FMA_EXPR.
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

7 years agoDaily bump.
GCC Administrator [Sun, 19 Feb 2017 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r245569

7 years agoio.xml: Update link to groups.google.com.
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

7 years agofinal.c (last_columnnum, [...]): New variables.
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

7 years agocommon.opt (gno-column-info, [...]): New options.
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

7 years agothread_local-order2.C: xfail on hppa*-*-hpux*.
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

7 years agore PR target/79569 (Unrecognized command line option ‘-m3dnowa’)
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

7 years agore PR target/79559 (ICE in ix86_print_operand, at config/i386/i386.c:18189)
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

7 years ago* doc/xml/manual/profile_mode.xml: Fix link.
Gerald Pfeifer [Sat, 18 Feb 2017 08:37:19 +0000 (08:37 +0000)]
* doc/xml/manual/profile_mode.xml: Fix link.

From-SVN: r245559

7 years agoDaily bump.
GCC Administrator [Sat, 18 Feb 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r245558

7 years agoRestore DECIMAL_DIG macro to C99/C11 value.
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

7 years agoPR c++/79508 - lookup error with member template
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

7 years agoPR c++/78690 - ICE with using and global type with same name
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

7 years agore PR target/79261 (vec_xxpermdi appears to have endian issues)
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

7 years agoPR c++/79549 - C++17 ICE with non-type auto template parameter pack
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

7 years agoPR c++/79556 - C++17 ICE with non-type auto
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

7 years agore PR tree-optimization/79327 (wrong code at -O2 and -fprintf-return-value)
Jakub Jelinek [Fri, 17 Feb 2017 18:31:01 +0000 (19:31 +0100)]
re PR tree-optimization/79327 (wrong code at -O2 and -fprintf-return-value)

PR tree-optimization/79327
* gimple-ssa-sprintf.c (format_integer): Remove likely_adjust
variable, its initialization and use.

From-SVN: r245542

7 years agoi386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
Julia Koval [Fri, 17 Feb 2017 18:11:28 +0000 (19:11 +0100)]
i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.

* common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
(OPTION_MASK_ISA_PKU_UNSET): New.
(ix86_handle_option): Handle -mrdpid.
* config/i386/cpuid.h (bit_RDPID): New.
* config/i386/driver-i386.c (host_detect_local_cpu):
Detect RDPID feature.
* config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
* config/i386/i386-c.c (ix86_target_macros_internal):
Handle RDPID flag.
* config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
(ix86_valid_target_attribute_inner_p): Add "rdpid".
(ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
* config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
* config/i386/i386.md (define_insn "rdpid"): New.
* config/i386/i386.opt Add -mrdpid.
* config/i386/immintrin.h (_rdpid_u32): New.

testsuite/ChangeLog:

* gcc.target/i386/rdpid.c New test.
* gcc.target/i386/sse-12.c: Add -mrdpid.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* g++.dg/other/i386-2.C: Ditto.
* g++.dg/other/i386-3.C: Ditto.

From-SVN: r245540

7 years agoPR c++/79533 - C++17 ICE with temporary cast to reference
Jason Merrill [Fri, 17 Feb 2017 16:50:16 +0000 (11:50 -0500)]
PR c++/79533 - C++17 ICE with temporary cast to reference

* call.c (build_over_call): Conversion to a reference prevents copy
elision.

From-SVN: r245538

7 years agore PR rtl-optimization/79541 (lra reads uninitialized memory (with invalid input))
Vladimir Makarov [Fri, 17 Feb 2017 16:10:59 +0000 (16:10 +0000)]
re PR rtl-optimization/79541 (lra reads uninitialized memory (with invalid input))

2017-02-17  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/79541
* lra-constraints.c (curr_insn_transform): Remove wrong asm insn
instead of transforming it into USE.

From-SVN: r245536

7 years agolibgo: update to final Go 1.8 release
Ian Lance Taylor [Fri, 17 Feb 2017 15:43:39 +0000 (15:43 +0000)]
libgo: update to final Go 1.8 release

    Along with the update this fixes a problem that was always present but
    only showed up with the new reflect test.  When a program used a
    **unsafe.Pointer and stored the value in an interface type, the
    generated type descriptor pointed to the GC data for *unsafe.Pointer.
    It did that by name, but we were not generating a variable with the
    right name.

    Reviewed-on: https://go-review.googlesource.com/37144

From-SVN: r245535

7 years agors6000: Fix extendsfdf2 for signaling NaNs
Segher Boessenkool [Fri, 17 Feb 2017 15:00:37 +0000 (16:00 +0100)]
rs6000: Fix extendsfdf2 for signaling NaNs

A cast from float to double should turn a signaling NaN into a quiet
NaN, if using -fsignaling-nans.  On PowerPC single-precision floats are
stored as double precision in registers, and so, the cast normally does
nothing.  This causes gcc.dg/pr59833.c to fail (it does such a cast,
and expects a quiet NaN as output).

This patch adds a new pattern, used with -fsignaling-nans in effect,
that creates an frsp instruction (or xsrsp) in this case.  Since the
input already is SFmode, that instruction turns signaling NaNs into
quiet NaNs and does nothing more.

* config/rs6000/rs6000.md (extendsfdf2): Remove default arguments.
If HONOR_SNANS (SFmode) force the input to a register.
(*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition.
(*extendsfdf2_snan): New pattern, used when using SNaNs; it generates
an frsp or similar insn.

From-SVN: r245534