platform/upstream/gcc.git
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

7 years agotestsuite: pr59833.c and pr61441.c should use -fsignaling-nans
Segher Boessenkool [Fri, 17 Feb 2017 14:51:40 +0000 (15:51 +0100)]
testsuite: pr59833.c and pr61441.c should use -fsignaling-nans

The testcases pr59833.c and pr61441.c check whether signaling NaNs as
input to some operation result in quiet NaNs.  Without -fsignaling-nans
this is not guaranteed to happen.  So, this patch add this option to
these testcases.

* gcc.dg/pr59833.c: Add -fsignaling-nans to options.
* gcc.dg/pr61441.c: Ditto.

From-SVN: r245533

7 years agoIncrease minimum for a param (PR rtl-optimization/79577).
Martin Liska [Fri, 17 Feb 2017 14:47:08 +0000 (15:47 +0100)]
Increase minimum for a param (PR rtl-optimization/79577).

2017-02-17  Martin Liska  <mliska@suse.cz>

PR rtl-optimization/79577
* params.def (selsched-max-sched-times): Increase minimum to 1.

From-SVN: r245532

7 years agoUse HOST_WIDE_INT for a param calculation (PR rtl-optimization/79574).
Martin Liska [Fri, 17 Feb 2017 14:46:14 +0000 (15:46 +0100)]
Use HOST_WIDE_INT for a param calculation (PR rtl-optimization/79574).

2017-02-17  Martin Liska  <mliska@suse.cz>

PR rtl-optimization/79574
* gcc.dg/pr79574.c: New test.
2017-02-17  Martin Liska  <mliska@suse.cz>

PR rtl-optimization/79574
* gcse.c (want_to_gcse_p): Prevent integer overflow.

From-SVN: r245531

7 years agoIntroduce ssa_defined_default_def_p function (PR tree-optimization/79529).
Martin Liska [Fri, 17 Feb 2017 14:36:08 +0000 (15:36 +0100)]
Introduce ssa_defined_default_def_p function (PR tree-optimization/79529).

2017-02-17  Martin Liska  <mliska@suse.cz>

PR tree-optimization/79529
* tree-ssa-loop-unswitch.c (is_maybe_undefined): Use
ssa_defined_default_def_p to handle cases which are implicitly
defined.
* tree-ssa.c (ssa_defined_default_def_p): New function.
(ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases
which are implicitly defined.
* tree-ssa.h (ssa_defined_default_def_p): Declare.

From-SVN: r245530

7 years agore PR tree-optimization/79576 (ICE in gimple_stmt_nonnegative_warnv_p in gcc/gimple...
Richard Biener [Fri, 17 Feb 2017 13:36:39 +0000 (13:36 +0000)]
re PR tree-optimization/79576 (ICE in gimple_stmt_nonnegative_warnv_p in gcc/gimple-fold.c:6979)

2017-02-17  Richard Biener  <rguenther@suse.de>

PR middle-end/79576
* params.def (max-ssa-name-query-depth): Limit to 10.

From-SVN: r245529

7 years agore PR inline-asm/79552 (Wrong code generation due to -fschedule-insns, with __restric...
Richard Biener [Fri, 17 Feb 2017 10:43:27 +0000 (10:43 +0000)]
re PR inline-asm/79552 (Wrong code generation due to -fschedule-insns, with __restrict__ and inline asm)

2017-02-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/79552
* tree-ssa-structalias.c (visit_loadstore): Properly verify
default defs.

From-SVN: r245528

7 years agore PR bootstrap/79567 (Compiler-warning "unknown escape sequence '\x'" about genmatch...
Richard Biener [Fri, 17 Feb 2017 10:19:21 +0000 (10:19 +0000)]
re PR bootstrap/79567 (Compiler-warning "unknown escape sequence '\x'" about genmatch-generated C-files on mingw-host)

2017-02-17  Richard Biener  <rguenther@suse.de>

PR bootstrap/79567
* genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2.

From-SVN: r245527

7 years agore PR middle-end/79536 (ICE in fold_binary_loc, at fold-const.c:9060)
Marek Polacek [Fri, 17 Feb 2017 09:51:38 +0000 (09:51 +0000)]
re PR middle-end/79536 (ICE in fold_binary_loc, at fold-const.c:9060)

PR middle-end/79536
* fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr.
(fold_negate_expr): New wrapper.

* gcc.dg/torture/pr79536.c: New test.

From-SVN: r245526

7 years agoinvoke.texi (C++ Dialect Options): Correct terminology and de-emphasize pre-standard...
Sandra Loosemore [Fri, 17 Feb 2017 04:48:36 +0000 (23:48 -0500)]
invoke.texi (C++ Dialect Options): Correct terminology and de-emphasize pre-standard behavior.

2017-02-16  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]:
Correct terminology and de-emphasize pre-standard behavior.

From-SVN: r245525

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

From-SVN: r245524

7 years agore PR rtl-optimization/79286 (ira and lra wrong code at -O2 and -Os on i686-linux)
Alan Modra [Thu, 16 Feb 2017 22:56:51 +0000 (09:26 +1030)]
re PR rtl-optimization/79286 (ira and lra wrong code at -O2 and -Os on i686-linux)

2017-02-16  Alan Modra  <amodra@gmail.com>

PR rtl-optimization/79286
* ira.c (def_dominates_uses): New function.
(update_equiv_regs): Don't create an equivalence for insns that
may trap where the register def does not dominate the use.

* gcc.c-torture/execute/pr79286.c: New.

From-SVN: r245521

7 years agore PR sanitizer/79562 (sanitizer breaks bootstrap of x86_64-*-freebsd)
Andreas Tobler [Thu, 16 Feb 2017 21:23:51 +0000 (22:23 +0100)]
re PR sanitizer/79562 (sanitizer breaks bootstrap of x86_64-*-freebsd)

2017-02-16  Andreas Tobler  <andreast@gcc.gnu.org>

    PR sanitizer/79562
    * sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry-pick
    upstream r294806.

From-SVN: r245520

7 years agoPR c++/79502 - lost nodiscard attribute
Jakub Jelinek [Thu, 16 Feb 2017 19:49:19 +0000 (20:49 +0100)]
PR c++/79502 - lost nodiscard attribute

* pt.c (apply_late_template_attributes): Do apply non-dependent
attributes to types.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r245516

7 years ago* g++.dg/cpp0x/constexpr-70001-[34].C: Only run as C++14.
Jason Merrill [Thu, 16 Feb 2017 19:49:13 +0000 (14:49 -0500)]
* g++.dg/cpp0x/constexpr-70001-[34].C: Only run as C++14.

From-SVN: r245515

7 years agore PR rtl-optimization/78127 (AArch64 internal compiler error: in lra_eliminate,...
Vladimir Makarov [Thu, 16 Feb 2017 19:47:15 +0000 (19:47 +0000)]
re PR rtl-optimization/78127 (AArch64 internal compiler error: in lra_eliminate, at lra-eliminations.c:1440)

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

PR rtl-optimization/78127
* lra.c (lra): Call lra_eliminate before finish the loop after
lra_constraint.

From-SVN: r245514

7 years agoexgettext (BUGURL): Introduce, and use instead of four hardcoded instances.
Gerald Pfeifer [Thu, 16 Feb 2017 19:38:47 +0000 (19:38 +0000)]
exgettext (BUGURL): Introduce, and use instead of four hardcoded instances.

* exgettext (BUGURL): Introduce, and use instead of four
hardcoded instances.

From-SVN: r245513

7 years agoPR c++/78572 - ICE with self-modifying array initializer
Jason Merrill [Thu, 16 Feb 2017 16:42:06 +0000 (11:42 -0500)]
PR c++/78572 - ICE with self-modifying array initializer

* constexpr.c (cxx_eval_store_expression): The object we're
initializing is outside the constant-expression.

From-SVN: r245511

7 years agoPR c++/79050 - ICE with undeduced auto and LTO
Jason Merrill [Thu, 16 Feb 2017 16:42:00 +0000 (11:42 -0500)]
PR c++/79050 - ICE with undeduced auto and LTO

* decl.c (poplevel): Remove undeduced auto decls.

From-SVN: r245510

7 years agovalue-unwind.h: New file.
Andrew Pinski [Thu, 16 Feb 2017 16:27:42 +0000 (16:27 +0000)]
value-unwind.h: New file.

* config/aarch64/value-unwind.h: New file.
* config.host (aarch64*-*-*): Add aarch64/value-unwind.h
to tm_file.

From-SVN: r245508

7 years agopolicy_data_structures.xml: Simplify and standardize references to boost.org.
Gerald Pfeifer [Thu, 16 Feb 2017 15:25:18 +0000 (15:25 +0000)]
policy_data_structures.xml: Simplify and standardize references to boost.org.

* doc/xml/manual/policy_data_structures.xml: Simplify and
standardize references to boost.org.
* doc/xml/manual/policy_data_structures_biblio.xml: Ditto.
* doc/xml/manual/shared_ptr.xml: Ditto.

From-SVN: r245507

7 years agoPR libstdc++/60936 fix length calculation
Jonathan Wakely [Thu, 16 Feb 2017 12:06:28 +0000 (12:06 +0000)]
PR libstdc++/60936 fix length calculation

PR libstdc++/60936
* src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length
written to buffer, not length remaining in buffer.

From-SVN: r245505

7 years agore PR c++/79512 (ICE: Segfault in gimple_build_call_1, at gimple.c:218)
Jakub Jelinek [Thu, 16 Feb 2017 12:02:24 +0000 (13:02 +0100)]
re PR c++/79512 (ICE: Segfault in gimple_build_call_1, at gimple.c:218)

PR c++/79512
c/
* c-parser.c (c_parser_omp_target): For -fopenmp-simd
ignore #pragma omp target even when not followed by identifier.
cp/
* parser.c (cp_parser_omp_target): For -fopenmp-simd
ignore #pragma omp target even when not followed by identifier.
testsuite/
* c-c++-common/gomp/pr79512.c: New test.

From-SVN: r245504

7 years agographite.h: Do not include isl/isl_val_gmp.h, instead include isl/isl_val.h.
Richard Biener [Thu, 16 Feb 2017 07:53:53 +0000 (07:53 +0000)]
graphite.h: Do not include isl/isl_val_gmp.h, instead include isl/isl_val.h.

2017-02-16  Richard Biener  <rguenther@suse.de>

* graphite.h: Do not include isl/isl_val_gmp.h, instead include
isl/isl_val.h.
* graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
(gcc_expression_from_isl_expr_int): Use generic isl_val interface.
* graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
(isl_val_int_from_wi): New function.
(extract_affine_gmp): Rename to ...
(extract_affine_wi): ... this, take a widest_int.
(extract_affine_int): Just wrap extract_affine_wi.
(add_param_constraints): Use isl_val_int_from_wi.
(add_loop_constraints): Likewise, and extract_affine_wi.

From-SVN: r245501

7 years agore PR middle-end/79521 (Bootstrap failure on i686-linux starting with r245436)
Jeff Law [Thu, 16 Feb 2017 06:35:29 +0000 (23:35 -0700)]
re PR middle-end/79521 (Bootstrap failure on i686-linux starting with r245436)

PR middle-end/79521
* ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling
ira_init_register_move_cost_if_necessary.

From-SVN: r245500

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

From-SVN: r245499

7 years ago* es.po: Update.
Joseph Myers [Wed, 15 Feb 2017 20:46:46 +0000 (20:46 +0000)]
* es.po: Update.

From-SVN: r245496

7 years agoPR c++/79464 - ICE in IPA with omitted constructor parms
Jason Merrill [Wed, 15 Feb 2017 20:29:08 +0000 (15:29 -0500)]
PR c++/79464 - ICE in IPA with omitted constructor parms

* class.c (build_clone): Also omit parms from TYPE_ARG_TYPES.
(adjust_clone_args): Adjust.
(add_method): Remember omitted parms.
* call.c (add_function_candidate): Likewise.
* mangle.c (write_method_parms): Likewise.
* method.c (ctor_omit_inherited_parms): Return false if there are no
parms to omit.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r245495

7 years agoPR c++/79363 - ICE with NSDMI and array
Martin Sebor [Wed, 15 Feb 2017 20:28:32 +0000 (20:28 +0000)]
PR c++/79363 - ICE with NSDMI and array

gcc/cp/ChangeLog:

PR c++/79363
* init.c (maybe_reject_flexarray_init): New function.
(perform_member_init): Call it.

gcc/testsuite/ChangeLog:

PR c++/79363
* g++.dg/ext/flexary12.C: Adjust.
* g++.dg/ext/flexary20.C: Same.
* g++.dg/ext/flexary21.C: Same.
* g++.dg/ext/flexary22.C: New test.

From-SVN: r245494

7 years agore PR middle-end/32003 (Undocumented -fdump-tree options)
Martin Sebor [Wed, 15 Feb 2017 20:13:11 +0000 (20:13 +0000)]
re PR middle-end/32003 (Undocumented -fdump-tree options)

2017-02-15  Martin Sebor  <msebor@redhat.com>

PR middle-end/32003
* doc/invoke.texi (-fdump-final-insns): Replace option accidentally
removed in a prior commit.

From-SVN: r245493

7 years agore PR tree-optimization/79347 (vect_do_peeling is messing up profile)
Bin Cheng [Wed, 15 Feb 2017 17:16:29 +0000 (17:16 +0000)]
re PR tree-optimization/79347 (vect_do_peeling is messing up profile)

PR tree-optimization/79347
* tree-vect-loop-manip.c (vect_do_peeling): Maintain profile
counters during peeling.

gcc/testsuite
* gcc.dg/vect/pr79347.c: New test.

From-SVN: r245490

7 years agore PR c++/79301 (With -Werror=pedantic outside C++17 mode, __has_cpp_attribute(fallth...
Jakub Jelinek [Wed, 15 Feb 2017 17:10:40 +0000 (18:10 +0100)]
re PR c++/79301 (With -Werror=pedantic outside C++17 mode, __has_cpp_attribute(fallthrough) is nonzero but [[fallthrough]] fails)

PR c++/79301
* parser.c (cp_parser_std_attribute): Don't pedwarn about
[[deprecated]] with -std=c++11 and [[fallthrough]] with
-std=c++11 and -std=c++14.

* g++.dg/cpp1y/feat-cxx11-neg.C: Remove (with pedwarn) from
[[deprecated]] comment.
* g++.dg/cpp1y/feat-cxx98-neg.C: Likewise.
* g++.dg/cpp1y/feat-cxx11.C: Likewise.
* g++.dg/cpp1y/attr-deprecated-neg.C: Don't expect warnings for
[[deprecated]] in -std=c++11.
* g++.dg/cpp0x/fallthrough2.C: Don't expect warnings for
[[fallthrough]] in -std=c++11 and -std=c++14.

From-SVN: r245489

7 years agore PR c++/79288 (TLS model wrong for static data members since r241137)
Jakub Jelinek [Wed, 15 Feb 2017 17:09:18 +0000 (18:09 +0100)]
re PR c++/79288 (TLS model wrong for static data members since r241137)

PR c++/79288
* decl.c (grokdeclarator): For static data members, handle thread_p
only after handling inline.

* g++.dg/tls/pr79288.C: New test.

From-SVN: r245488

7 years agoEnable libgomp.c/pr48591.c on __float128 targets
Rainer Orth [Wed, 15 Feb 2017 16:35:54 +0000 (16:35 +0000)]
Enable libgomp.c/pr48591.c on __float128 targets

* testsuite/libgomp.c/pr48591.c: Enable on all __float128
targets.
Add __float128 options.

From-SVN: r245486

7 years agore PR c/79515 (ICE: tree check: expected class 'type', have 'exceptional' (error_mark...
Marek Polacek [Wed, 15 Feb 2017 16:14:19 +0000 (16:14 +0000)]
re PR c/79515 (ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in do_warn_double_promotion, at c-family/c-warn.c:1867)

PR c/79515
* c-warn.c (do_warn_double_promotion): Don't warn if an invalid
conversion has occured.

* gcc.dg/dfp/pr79515.c: New.

From-SVN: r245485

7 years ago* g++.dg/cpp0x/pr79296.C: Move dg-do compile directive first.
David Edelsohn [Wed, 15 Feb 2017 15:37:33 +0000 (15:37 +0000)]
* g++.dg/cpp0x/pr79296.C: Move dg-do compile directive first.

From-SVN: r245484

7 years agoRestore Graphite fuse-*.c testing
Thomas Schwinge [Wed, 15 Feb 2017 14:43:42 +0000 (15:43 +0100)]
Restore Graphite fuse-*.c testing

* Makefile.tpl: Remove HOST_ISLVER.
(HOST_EXPORTS): Remove ISLVER.
* Makefile.in: Regenerate.
gcc/
* Makefile.in (site.exp): Remove "set ISLVER".
gcc/testsuite/
* gcc.dg/graphite/graphite.exp: Merge "fuse_files" into
"opt_files".

From-SVN: r245483

7 years agore PR target/79487 (Invalid _Decimal32 comparison on s390x)
Jakub Jelinek [Wed, 15 Feb 2017 12:19:53 +0000 (13:19 +0100)]
re PR target/79487 (Invalid _Decimal32 comparison on s390x)

PR target/79487
* real.c (real_from_integer): Call real_convert even for decimal.

* gcc.dg/dfp/pr79487.c: New test.
* c-c++-common/ubsan/float-cast-overflow-8.c (TEST): Revert
2017-02-13 change.

From-SVN: r245477

7 years agoPR target/79241: S/390: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
Dominik Vogt [Wed, 15 Feb 2017 09:27:57 +0000 (09:27 +0000)]
PR target/79241: S/390: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.

gcc/ChangeLog:

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

PR target/79421
* config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.

From-SVN: r245476

7 years agore PR libstdc++/78723 ([variant] P0393r3: "Making variant greater equal again" is...
Tim Shen [Wed, 15 Feb 2017 09:01:06 +0000 (09:01 +0000)]
re PR libstdc++/78723 ([variant] P0393r3: "Making variant greater equal again" is unimplemented)

PR libstdc++/78723
* include/std/variant (operator<(), operator>(), operator<=(),
operator>=(), operator==(), operator!=()): Implement P0393R3.
* testsuite/20_util/variant/compile.cc: Adjust tests.
* testsuite/20_util/variant/run.cc: Adjust tests.

From-SVN: r245475

7 years agore PR libstdc++/79513 (std::visit doesn't handle references)
Tim Shen [Wed, 15 Feb 2017 07:38:20 +0000 (07:38 +0000)]
re PR libstdc++/79513 (std::visit doesn't handle references)

PR libstdc++/79513
* include/std/variant (visit()): Forward variant types to the return
type detection code.
* testsuite/20_util/variant/compile.cc: Add test cases.

From-SVN: r245474

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

From-SVN: r245464

7 years agoaarch64-cores.def (thunderx2t99): Move to under 'C" cores and change the partno/imple...
Andrew Pinski [Wed, 15 Feb 2017 00:09:28 +0000 (00:09 +0000)]
aarch64-cores.def (thunderx2t99): Move to under 'C" cores and change the partno/implementer to be correct.

2017-02-14  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C"
        cores and change the partno/implementer to be correct.
        (thunderx2t99p1): New core which replaces thunderx2t99 and still has
        the 'B" as the implementer.
        * config/aarch64/aarch64-tune.md: Regenerate.

From-SVN: r245461

7 years agors6000.c: Add case statement entry to make the xvcvuxdsp built-in argument unsigned.
Carl Love [Tue, 14 Feb 2017 23:11:19 +0000 (23:11 +0000)]
rs6000.c: Add case statement entry to make the xvcvuxdsp built-in argument unsigned.

gcc/ChangeLog:

2017-02-14  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000.c: Add case statement entry to make the
xvcvuxdsp built-in argument unsigned.
* config/rs6000/vsx.md: Fix the source and return operand types so they
match the instruction definitions from the ISA document.  Fix typo
in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
statement.

gcc/testsuite/ChangeLog:

2017-01-14  Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/vsx-builtin-3.c: Add missing test case for the
xvcvsxdsp and xvcvuxdsp instructions.

From-SVN: r245460

7 years agore PR target/79282 ([7 Regresion] FAIL: gcc.target/arm/neon-for-64bits-1.c scan-assem...
Vladimir Makarov [Tue, 14 Feb 2017 22:17:19 +0000 (22:17 +0000)]
re PR target/79282 ([7 Regresion] FAIL: gcc.target/arm/neon-for-64bits-1.c scan-assembler-times vshr 0)

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

PR target/79282
* lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add
member early_clobber_alts.
* lra-lives.c (reg_early_clobber_p): New.
(process_bb_lives): Use it.
* lra.c (new_insn_reg): New arg early_clobber_alts.  Use it.
(debug_operand_data): Initialize early_clobber_alts.
(setup_operand_alternative): Set up early_clobber_alts.
(collect_non_operand_hard_regs): Ditto.  Pass early clobber
alternatives to new_insn_reg.
(add_regs_to_insn_regno_info): Add arg early_clobber_alts.  Use
it.
(lra_update_insn_regno_info): Pass the new arg.

From-SVN: r245459

7 years agors6000: Fix the vec-adde* testcases once more
Segher Boessenkool [Tue, 14 Feb 2017 20:27:54 +0000 (21:27 +0100)]
rs6000: Fix the vec-adde* testcases once more

David found the vec-adde{,c}-int128.c testcases fail on AIX.  Those
tests should only run on targets that have int128.

This also changes the non-int128 testcases to check for the hardware
they require.

gcc/testsuite/
* gcc.target/powerpc/vec-adde-int128.c: Only run if int128 exists.
* gcc.target/powerpc/vec-addec-int128.c: Ditto.
* gcc.target/powerpc/vec-adde.c: Require vsx_hw, don't require a
64-bit default target.
* gcc.target/powerpc/vec-addec.c: Require p8vector_hw, don't require
a 64-bit default target.

From-SVN: r245453

7 years agore PR middle-end/79505 (Memory leaks in oacc_loop_discover_walk)
Jakub Jelinek [Tue, 14 Feb 2017 19:40:27 +0000 (20:40 +0100)]
re PR middle-end/79505 (Memory leaks in oacc_loop_discover_walk)

PR middle-end/79505
* omp-offload.c (free_oacc_loop): Release loop->ifns vector.
(new_oacc_loop_raw): Don't clear already cleared fields.

From-SVN: r245445

7 years agore PR target/79481 (AVX512PF: unmasked gather prefetch intrinsics missing)
Jakub Jelinek [Tue, 14 Feb 2017 19:39:17 +0000 (20:39 +0100)]
re PR target/79481 (AVX512PF: unmasked gather prefetch intrinsics missing)

PR target/79481
* config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
_mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
_mm512_prefetch_i64gather_ps): New inline functions and macros.

* gcc.target/i386/sse-14.c (test_2vx): Add void return type.
(test_3vx): Change return type from int to void.
(_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps,
_mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps,
_mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd,
_mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New
tests.
* gcc.target/i386/sse-22.c (test_2vx): Add void return type.
(test_3vx): Change return type from int to void.
(_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps,
_mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps,
_mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd,
_mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New
tests.
* gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Add non-masked
intrinsic.  Change scan-assembler-times number from 1 to 2.
* gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Likewise.

From-SVN: r245444

7 years agore PR middle-end/61225 (Several new failures after r210458 on x86_64-*-* with -m32)
Uros Bizjak [Tue, 14 Feb 2017 17:54:01 +0000 (18:54 +0100)]
re PR middle-end/61225 (Several new failures after r210458 on x86_64-*-* with -m32)

PR middle-end/61225
* gcc.target/i386/pr49095.c: Add -fno-shrink-wrap to dg-options.
Use dg-additional-options for ia32 target.  Remove XFAIL.

From-SVN: r245442

7 years agore PR target/79495 (ICE in extract_constrain_insn, at recog.c:2213)
Uros Bizjak [Tue, 14 Feb 2017 17:52:37 +0000 (18:52 +0100)]
re PR target/79495 (ICE in extract_constrain_insn, at recog.c:2213)

PR target/79495
* config/i386/i386.md (*movxf_internal): Add (o,rC) alternative.

testsuite/ChangeLog:

2017-02-14  Uros Bizjak  <ubizjak@gmail.com>

PR target/79495
* gcc.target/i386/pr79495.c: New test.

From-SVN: r245441

7 years agore PR c++/79420 (ICE on invalid C++ code on x86_64-linux-gnu: in tsubst_copy, at...
Marek Polacek [Tue, 14 Feb 2017 17:33:21 +0000 (17:33 +0000)]
re PR c++/79420 (ICE on invalid C++ code on x86_64-linux-gnu: in tsubst_copy, at cp/pt.c:14573)

PR c++/79420
PR c++/79463
* parser.c (cp_parser_postfix_dot_deref_expression): Avoid
clobbering if the postfix expression isn't an EXPR_P.

* g++.dg/cpp1y/pr79463.C: New.
* g++.dg/template/incomplete10.C: New.
* g++.dg/template/incomplete9.C: New.

From-SVN: r245440

7 years agoProperly store 128-bit constant in large model
H.J. Lu [Tue, 14 Feb 2017 16:53:22 +0000 (16:53 +0000)]
Properly store 128-bit constant in large model

When converting TI store with CONST_INT to V1TI store with CONST_VECTOR
in large model, an extra instruction may be needed to load CONST_VECTOR
into a register.  Insert the extra instruction to the right place.

gcc/

PR target/79498
* config/i386/i386.c (timode_scalar_chain::convert_insn): Insert
the extra instruction to the right place to store 128-bit constant
when needed.

gcc/testsuite/

PR target/79498
* gcc.target/i386/pr79498.c: New test.

From-SVN: r245438

7 years agoPR middle-end/79448 - unhelpful -Wformat-truncation=2 warning
Martin Sebor [Tue, 14 Feb 2017 16:51:24 +0000 (16:51 +0000)]
PR middle-end/79448 - unhelpful -Wformat-truncation=2 warning

gcc/testsuite/ChangeLog:

PR middle-end/79448
* gcc.dg/tree-ssa/builtin-snprintf-warn-3.c: New test.
* gcc.dg/tree-ssa/pr79448-2.c: New test.
* gcc.dg/tree-ssa/pr79448.c: New test.

gcc/ChangeLog:

PR middle-end/79448
* gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX
  warning for strings of unknown length.

From-SVN: r245437

7 years agore PR target/79404 (h8300: ICE at gcc/ira.c:5541 whilst building libgcc)
Jeff Law [Tue, 14 Feb 2017 16:44:33 +0000 (09:44 -0700)]
re PR target/79404 (h8300: ICE at gcc/ira.c:5541 whilst building libgcc)

PR target/79404
* ira-costs.c (scan_one_insn): Initialize register move costs
for pseudos seen in USE/CLOBBER insns.

From-SVN: r245436

7 years agors6000: Synchronize the --with-cpu list in config.gcc with reality
Segher Boessenkool [Tue, 14 Feb 2017 16:32:05 +0000 (17:32 +0100)]
rs6000: Synchronize the --with-cpu list in config.gcc with reality

power, power2, rios, rios1, rios2, rsc, rsc2 support was removed.
rs64a never was a supported option; it's spelled rs64.
power5+ and powerpc64le are supported options but could not be set as
default.

* config.gcc (supported_defaults) [powerpc*-*-*]: Update.

From-SVN: r245435

7 years agore PR tree-optimization/79095 (spurious stringop-overflow warning)
Jeff Law [Tue, 14 Feb 2017 15:54:09 +0000 (08:54 -0700)]
re PR tree-optimization/79095 (spurious stringop-overflow warning)

PR tree-optimization/79095
* tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR,
if the numerator has the range ~[0,0] make the resultant range ~[0,0].
(extract_range_from_binary_expr): For MINUS_EXPR with no derived range,
if the operands are known to be not equal, then the resulting range
is ~[0,0].
(intersect_ranges): If the new range is ~[0,0] and the old range is
wide, then prefer ~[0,0].
* tree-vrp.c (overflow_comparison_p_1): New function.
(overflow_comparison_p): New function.
* tree-vrp.c (register_edge_assert_for_2): Register additional asserts
if NAME is used in an overflow test.
(vrp_evaluate_conditional_warnv_with_ops): If the ops represent an
overflow check that can be expressed as an equality test, then adjust
ops to be that equality test.

PR tree-optimization/79095
* g++.dg/pr79095-1.C: New test
* g++.dg/pr79095-2.C: New test
* g++.dg/pr79095-3.C: New test
* g++.dg/pr79095-4.C: New test
* g++.dg/pr79095-5.C: New test
* gcc.c-torture/execute/arith-1.c: Update with more cases.
* gcc.dg/tree-ssa/pr79095-1.c: New test.

From-SVN: r245434

7 years agoS/390: Cleanup: Remove builtin type flags.
Andreas Krebbel [Tue, 14 Feb 2017 15:38:02 +0000 (15:38 +0000)]
S/390: Cleanup: Remove builtin type flags.

With the target attribute stuff the only user of the builtin types
flags value has been removed.  So drop that value from the builtin
types list entirely.

gcc/ChangeLog:

2017-02-14  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390-builtin-types.def: Remove flags argument.
* config/s390/s390.c (s390_init_builtins): Likewise.

From-SVN: r245432

7 years agoFix memory leak in LTO
Martin Liska [Tue, 14 Feb 2017 14:56:11 +0000 (15:56 +0100)]
Fix memory leak in LTO

2017-02-14  Martin Liska  <mliska@suse.cz>

* lto.c (do_stream_out): Free LTO file filename string.

From-SVN: r245431

7 years agoFix memory leak in tree-ssa-loop-unswitch.c
Martin Liska [Tue, 14 Feb 2017 14:54:55 +0000 (15:54 +0100)]
Fix memory leak in tree-ssa-loop-unswitch.c

2017-02-14  Martin Liska  <mliska@suse.cz>

* tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
vector.  Fix trailing white spaces.

From-SVN: r245430

7 years ago[Patch AArch64] Use 128-bit vectors when autovectorizing 16-bit float types
James Greenhalgh [Tue, 14 Feb 2017 14:48:33 +0000 (14:48 +0000)]
[Patch AArch64] Use 128-bit vectors when autovectorizing 16-bit float types

gcc/

* config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle
HFmode.

gcc/testsuite/

* gcc.target/aarch64/vect_fp16_1.c: New.

From-SVN: r245429

7 years ago[ARM] PR rtl-optimization/68664 Implement TARGET_SCHED_CAN_SPECULATE_INSN hook
Kyrylo Tkachov [Tue, 14 Feb 2017 10:33:50 +0000 (10:33 +0000)]
[ARM] PR rtl-optimization/68664 Implement TARGET_SCHED_CAN_SPECULATE_INSN hook

PR rtl-optimization/68664
* config/arm/arm.c (arm_sched_can_speculate_insn):
New function.  Declare prototype.
(TARGET_SCHED_CAN_SPECULATE_INSN): Define.

From-SVN: r245425

7 years ago[AArch64] PR rtl-optimization/68664 Implement TARGET_SCHED_CAN_SPECULATE_INSN hook
Kyrylo Tkachov [Tue, 14 Feb 2017 10:31:14 +0000 (10:31 +0000)]
[AArch64] PR rtl-optimization/68664 Implement TARGET_SCHED_CAN_SPECULATE_INSN hook

PR rtl-optimization/68664
* config/aarch64/aarch64.c (aarch64_sched_can_speculate_insn):
New function.
(TARGET_SCHED_CAN_SPECULATE_INSN): Define.

From-SVN: r245424