gcc.git
7 years agoDaily bump.
GCC Administrator [Thu, 23 Feb 2017 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r245671

7 years agors6000: Fix fsel pattern (PR79211)
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

7 years agoFix MIPS o32 calling convention for MSA and FP vector types
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

7 years ago* pt.c (do_class_deduction): Handle 0 argument case.
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

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