Bernd Edlinger [Mon, 20 Feb 2017 18:19:54 +0000 (18:19 +0000)]
Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
instead of SYSTEM_HEADER_DIR.
From-SVN: r245613
Jason Merrill [Mon, 20 Feb 2017 18:18:30 +0000 (13:18 -0500)]
PR c++/78139 - destructor needed by new-expression
* call.c (build_special_member_call): Use tf_no_cleanup.
From-SVN: r245612
Aaron Sawdey [Mon, 20 Feb 2017 17:09:40 +0000 (11:09 -0600)]
strncmp-2.c: Portability fixes.
2017-02-14 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
* gcc.dg/strncmp-2.c: Portability fixes.
From-SVN: r245608
Kelvin Nilsen [Mon, 20 Feb 2017 16:43:03 +0000 (16:43 +0000)]
re PR target/78056 (build failure on Power7)
gcc/testsuite/ChangeLog:
2017-02-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/78056
* gcc.target/powerpc/pr78056-8.c: Remove.
From-SVN: r245607
Gerald Pfeifer [Mon, 20 Feb 2017 16:12:35 +0000 (16:12 +0000)]
invoke.texi (use-after-scope-direct-emission-threshold): Fix typos and grammar, use active voice, and clarify.
* doc/invoke.texi (use-after-scope-direct-emission-threshold):
Fix typos and grammar, use active voice, and clarify.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r245606
Marek Polacek [Mon, 20 Feb 2017 15:50:23 +0000 (15:50 +0000)]
re PR sanitizer/79558 (ICE: Segfault in ubsan_type_descriptor, at ubsan.c:412)
PR sanitizer/79558
* ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null.
* c-c++-common/ubsan/bounds-14.c: New test.
From-SVN: r245605
Marek Polacek [Mon, 20 Feb 2017 15:05:53 +0000 (15:05 +0000)]
re PR middle-end/79537 (ICE in gimplify_expr, at gimplify.c:12009)
PR middle-end/79537
* gimplify.c (gimplify_expr): Handle unused *&&L;.
* gcc.dg/comp-goto-4.c: New.
From-SVN: r245604
Paul Thomas [Mon, 20 Feb 2017 14:17:42 +0000 (14:17 +0000)]
re PR fortran/79599 (typo in diagnostic gfc_error ("DTIO dummy argument at %L be a scalar")
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79599
* interface.c (check_dtio_arg_TKR_intent): Supply 'must'
missing from error message.
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79523
* interface.c (gfc_find_typebound_dtio_proc): Guard test for
flavor attribute by checking that symbol is resolved.
From-SVN: r245603
Jakub Jelinek [Mon, 20 Feb 2017 12:52:21 +0000 (13:52 +0100)]
re PR target/79568 (ICE in extract_insn, at recog.c:2311 for pr70325.c (with -mavx512bw))
PR target/79568
* config/i386/i386.c (ix86_expand_builtin): Handle
OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
ix86_builtins_isa[fcode].isa as a requirement of those
flags and any other flag in the bitmask.
(ix86_init_mmx_sse_builtins): Use 0 instead of
~OPTION_MASK_ISA_64BIT as mask.
* config/i386/i386-builtin.def (__builtin_ia32_rdtsc,
__builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi,
__builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi,
__builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise.
* gcc.target/i386/pr79568-1.c: New test.
* gcc.target/i386/pr79568-2.c: New test.
* gcc.target/i386/pr79568-3.c: New test.
From-SVN: r245602
Matthew Fortune [Mon, 20 Feb 2017 12:07:23 +0000 (12:07 +0000)]
Ensure the mode used to create split registers is suppported
gcc/
PR target/78012
* lra-constraints.c (split_reg): Check requested split mode
is supported by the register.
From-SVN: r245601
Matthew Fortune [Mon, 20 Feb 2017 12:07:14 +0000 (12:07 +0000)]
Partial revert of r243782 to restore previous behavior
gcc/
* lra-constraints.c (simplify_operand_subreg): Remove early
return false.
From-SVN: r245600
Matthew Fortune [Mon, 20 Feb 2017 12:07:06 +0000 (12:07 +0000)]
Tighten condition for converting SUBREG reloads from OP_OUT to OP_INOUT
gcc/
PR target/78660
* lra-constraints.c (curr_insn_transform): Tighten condition
for converting SUBREG reloads from OP_OUT to OP_INOUT.
From-SVN: r245599
Matthew Fortune [Mon, 20 Feb 2017 12:06:56 +0000 (12:06 +0000)]
Handle WORD_REGISTER_OPERATIONS when reloading (subreg (reg))
gcc/
PR target/78660
* lra-constraints.c (curr_insn_transform): Handle
WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
From-SVN: r245598
Paul Thomas [Mon, 20 Feb 2017 10:52:50 +0000 (10:52 +0000)]
re PR fortran/79382 (DTIO ICE)
2017-02-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79382
* decl.c (access_attr_decl): Test for presence of generic DTIO
interface and emit error if not present.
2017-02-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79382
* io/transfer.c (check_dtio_proc): New function.
(formatted_transfer_scalar_read): Use it.
(formatted_transfer_scalar_write): ditto.
2017-02-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79382
* gfortran.dg/dtio_10.f90 : Change test of error message.
* gfortran.dg/dtio_23.f90 : New test.
* gfortran.dg/dtio_24.f90 : New test.
From-SVN: r245596
Paul Thomas [Mon, 20 Feb 2017 09:42:48 +0000 (09:42 +0000)]
re PR fortran/79434 ([submodules] separate module procedure breaks encapsulation)
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79434
* parse.c (check_component, parse_union): Whitespace.
(set_syms_host_assoc): For a derived type, check if the module
in which it was declared is one of the submodule ancestors. If
it is, make the components public. Otherwise, reset attribute
'host_assoc' and set 'use-assoc' so that encapsulation is
preserved.
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79434
* gfortran.dg/submodule_25.f08 : New test.
From-SVN: r245595
Jason Merrill [Mon, 20 Feb 2017 06:06:39 +0000 (01:06 -0500)]
PR c++/78282 - auto template and pack expansion
* pt.c (find_parameter_packs_r): Don't walk into the type of
templates other than template template-parameters.
From-SVN: r245594
Jason Merrill [Mon, 20 Feb 2017 06:06:20 +0000 (01:06 -0500)]
PR c++/79606 - ICE with this->base_member in NSDMI
* class.c (build_base_path): Check processing_template_decl.
From-SVN: r245593
Jason Merrill [Mon, 20 Feb 2017 06:06:03 +0000 (01:06 -0500)]
PR c++/79607 - ICE with T{} initializer
* decl.c (type_dependent_init_p): Check the type of a CONSTRUCTOR.
From-SVN: r245592
Jason Merrill [Mon, 20 Feb 2017 06:05:54 +0000 (01:05 -0500)]
PR c++/79566 - elaborated-type-specifier in range for
* parser.c (cp_parser_simple_declaration): Fix check for type
definition.
From-SVN: r245591
Jason Merrill [Mon, 20 Feb 2017 06:05:45 +0000 (01:05 -0500)]
PR c++/79400 - confusing suggestion of 'noexcept'
* parser.c (cp_parser_exception_specification_opt): Remove
suggestion for deprecated dynamic exception-specification.
From-SVN: r245590
Jason Merrill [Mon, 20 Feb 2017 06:05:38 +0000 (01:05 -0500)]
PR c++/79470 - partial ordering with reference parameters
* pt.c (unify) [INDIRECT_REF]: Handle pack expansions.
From-SVN: r245589
Jason Merrill [Mon, 20 Feb 2017 06:05:31 +0000 (01:05 -0500)]
PR c++/79500 - ICE with non-template deduction guide
* pt.c (do_class_deduction): Use STRIP_TEMPLATE rather than
DECL_TEMPLATE_RESULT.
From-SVN: r245588
Jason Merrill [Mon, 20 Feb 2017 06:05:08 +0000 (01:05 -0500)]
PR c++/79580 - ICE with compound literal
* parser.c (cp_parser_class_head): If we're in the middle of an
expression, use ts_within_enclosing_non_class.
From-SVN: r245587
Jason Merrill [Mon, 20 Feb 2017 06:03:45 +0000 (01:03 -0500)]
PR c++/79503 - inherited ctor taking base class
* call.c (add_function_candidate): Also check that
DECL_INHERITED_CTOR_BASE is reference-related to the parameter type.
From-SVN: r245586
GCC Administrator [Mon, 20 Feb 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245585
Paul Thomas [Sun, 19 Feb 2017 19:59:20 +0000 (19:59 +0000)]
re PR fortran/79447 ([F08] gfortran rejects valid & accepts invalid internal subprogram in a submodule)
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79447
* decl.c (gfc_set_constant_character_len): Whitespace.
(gfc_match_end): Catch case where a procedure is contained in
a module procedure and ensure that 'end procedure' is the
correct termination.
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79447
* gfortran.dg/submodule_24.f08 : New test.
From-SVN: r245582
Andre Vehreschild [Sun, 19 Feb 2017 18:43:49 +0000 (19:43 +0100)]
re PR fortran/79229 (ICE in gfc_trans_assignment_1 with -fcheck=mem)
gcc/testsuite/ChangeLog:
2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79229
* gfortran.dg/class_allocate_24.f90: New test.
gcc/fortran/ChangeLog:
2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79229
* trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
compiling with -fcheck=mem to check the pointer and not the data.
From-SVN: r245581
Paul Thomas [Sun, 19 Feb 2017 18:27:14 +0000 (18:27 +0000)]
re PR fortran/79402 (ICE with submodules: module procedure interface defined in parent module)
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79402
* resolve.c (fixup_unique_dummy): New function.
(gfc_resolve_expr): Call it for dummy variables with a unique
symtree name.
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79402
* gfortran.dg/submodule_23.f90: New test.
From-SVN: r245580
Andre Vehreschild [Sun, 19 Feb 2017 18:18:33 +0000 (19:18 +0100)]
re PR fortran/79335 (Conditional jump or move depends on uninitialised in value get_scalar_to_descriptor_type(tree_node*, symbol_attribute) (trans-expr.c:53))
gcc/fortran/ChangeLog:
2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79335
* trans-array.c (duplicate_allocatable_coarray): Ensure attributes
passed are properly initialized.
(structure_alloc_comps): Same.
* trans-expr.c (gfc_trans_structure_assign): Same.
From-SVN: r245579
Paolo Carlini [Sun, 19 Feb 2017 17:43:41 +0000 (17:43 +0000)]
re PR c++/79380 (ICE on C++11 code with illegal alignas specifier on x86_64-linux-gnu: unexpected expression âfâ of kind overload)
/cp
2017-02-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79380
* typeck.c (cxx_alignas_expr): Reject a non-integral alignas
argument.
/testsuite
2017-02-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79380
* g++.dg/cpp0x/alignas8.C: New.
From-SVN: r245578
Uros Bizjak [Sun, 19 Feb 2017 17:34:27 +0000 (18:34 +0100)]
Revert:
2016-05-30 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
From-SVN: r245577
Dinka Ranns [Sun, 19 Feb 2017 16:04:35 +0000 (16:04 +0000)]
C++17 GB50 resolution (P0505R0)
2017-02-19 Dinka Ranns <dinka.ranns@googlemail.com>
C++17 GB50 resolution
* include/std/chrono (duration::operator++()): Add
_GLIBCXX17_CONSTEXPR.
(duration::operator++(int)): Likewise.
(duration::operator--()): Likewise.
(duration::operator--(int)): Likewise.
(duration::operator+=(const duration&)): Likewise.
(duration::operator-=(const duration&)): Likewise.
(duration::operator*=(const rep&)): Likewise.
(duration::operator/=(const rep&)): Likewise.
(duration::operator%=(const rep&)): Likewise.
(duration::operator%=(const duration&)): Likewise.
(time_point::operator+=(const duration&)): Likewise.
(time_point::operator-=(const duration&)): Likewise.
* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test.
* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
* testsuite/20_util/time_point/arithmetic/constexpr.cc: New test.
From-SVN: r245575
Jonathan Wakely [Sun, 19 Feb 2017 14:13:53 +0000 (14:13 +0000)]
PR c++/69523 make -Wliteral-suffix control warning
gcc:
PR c++/69523
* doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update
description.
gcc/cp:
2017-02-19 Eric Fiselier <eric@efcs.ca>
Jonathan Wakely <jwakely@redhat.com>
PR c++/69523
* parser.c (cp_parser_unqualified_id): Use OPT_Wliteral_suffix to
control warning about literal suffix identifiers without a leading
underscore.
gcc/testsuite:
2017-02-19 Eric Fiselier <eric@efcs.ca>
Jonathan Wakely <jwakely@redhat.com>
PR c++/69523
* g++.dg/cpp0x/Wliteral-suffix2.C: New test.
From-SVN: r245574
Gerald Pfeifer [Sun, 19 Feb 2017 10:54:35 +0000 (10:54 +0000)]
* doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer.
From-SVN: r245572
Prathamesh Kulkarni [Sun, 19 Feb 2017 09:14:38 +0000 (09:14 +0000)]
gimple-parser.c (c_parser_gimple_postfix_expression): Check return value of c_parser_parse_ssa_name against error_mark_node and emit...
2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gimple-parser.c (c_parser_gimple_postfix_expression): Check return
value of c_parser_parse_ssa_name against error_mark_node and emit
error if ssa name is anonymous and written as default definition.
From-SVN: r245571
Prathamesh Kulkarni [Sun, 19 Feb 2017 09:06:30 +0000 (09:06 +0000)]
gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format for FMA_EXPR.
2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format
for FMA_EXPR.
c/
* gimple-parser.c (c_parser_gimple_postfix_expression): Handle
FMA_EXPR.
testsuite/
* gcc.dg/gimplefe-26.c: New test.
From-SVN: r245570
GCC Administrator [Sun, 19 Feb 2017 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245569
Gerald Pfeifer [Sat, 18 Feb 2017 21:15:51 +0000 (21:15 +0000)]
io.xml: Update link to groups.google.com.
* doc/xml/manual/io.xml: Update link to groups.google.com.
Tweak link description.
From-SVN: r245565
Jakub Jelinek [Sat, 18 Feb 2017 16:11:40 +0000 (17:11 +0100)]
final.c (last_columnnum, [...]): New variables.
* final.c (last_columnnum, override_columnnum): New variables.
(final_start_function): Set last_columnnum, pass it to begin_prologue
hook and pass 0 to dwarf2out_begin_prologue.
(final_scan_insn): Update override_columnnum. Pass last_columnnum
to source_line debug hook.
(notice_source_line): Compute last_columnnum and for debug_column_info
return true on column changes.
* debug.h (struct gcc_debug_hooks): Add column argument to
source_line and begin_prologue hooks.
(debug_nothing_int_charstar_int_bool): Remove prototype.
(debug_nothing_int_int_charstar,
debug_nothing_int_int_charstar_int_bool): New prototypes.
(dwarf2out_begin_prologue): Add column argument.
* debug.c (do_nothing_debug_hooks): Adjust source_line and
begin_prologue hooks.
(debug_nothing_int_charstar_int_bool): Remove.
(debug_nothing_int_int_charstar,
debug_nothing_int_int_charstar_int_bool): New functions.
* dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it
through to dwarf2out_source_line.
(dwarf2_lineno_debug_hooks): Adjust begin_prologue hook.
(dwarf2out_source_line): Add column argument, emit it if requested.
* sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column
arguments.
* xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
* xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
* vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it
through to dwarf2out_begin_prologue.
(vmsdbgout_source_line): Add column argument, pass it through to
dwarf2out_source_line.
* dbxout.c (dbxout_begin_prologue): Add column argument, adjust
dbxout_source_line caller.
(dbxout_source_line): Add column argument.
From-SVN: r245564
Jakub Jelinek [Sat, 18 Feb 2017 16:10:43 +0000 (17:10 +0100)]
common.opt (gno-column-info, [...]): New options.
* common.opt (gno-column-info, gcolumn-info): New options.
* dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix.
(check_die): Also test for multiple DW_AT_decl_column attributes.
(add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add
DW_AT_decl_column if requested.
(gen_subprogram_die): Compare and/or add also DW_AT_decl_column
if requested.
(gen_variable_die): Likewise.
(add_call_src_coords_attributes): Add DW_AT_call_column if requested.
* doc/invoke.texi (-gcolumn-info, -gno-column-info): Document.
From-SVN: r245563
John David Anglin [Sat, 18 Feb 2017 14:24:35 +0000 (14:24 +0000)]
thread_local-order2.C: xfail on hppa*-*-hpux*.
* g++.dg/tls/thread_local-order2.C: xfail on hppa*-*-hpux*.
From-SVN: r245562
Jakub Jelinek [Sat, 18 Feb 2017 13:14:43 +0000 (14:14 +0100)]
re PR target/79569 (Unrecognized command line option â-m3dnowaâ)
PR target/79569
* config/i386/i386.opt (m3dnowa): Replace Undocumented with Report.
* common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define.
(ix86_handle_option): Handle OPT_m3dnowa.
* doc/invoke.texi (-m3dnowa): Document.
* doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use
-m3dnowa instead of -m3dnow -march=athlon.
* gcc.target/i386/3dnowA-3.c: New test.
From-SVN: r245561
Jakub Jelinek [Sat, 18 Feb 2017 13:13:43 +0000 (14:13 +0100)]
re PR target/79559 (ICE in ix86_print_operand, at config/i386/i386.c:18189)
PR target/79559
* config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
instead of gcc_assert for K, r and R code checks. Formatting fixes.
* gcc.target/i386/pr79559.c: New test.
From-SVN: r245560
Gerald Pfeifer [Sat, 18 Feb 2017 08:37:19 +0000 (08:37 +0000)]
* doc/xml/manual/profile_mode.xml: Fix link.
From-SVN: r245559
GCC Administrator [Sat, 18 Feb 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245558
Joseph Myers [Fri, 17 Feb 2017 23:04:14 +0000 (23:04 +0000)]
Restore DECIMAL_DIG macro to C99/C11 value.
By extending the set of floating types, TS 18661-3 thereby affected
the definition of DECIMAL_DIG, which is defined in terms of the
"widest supported floating type". This is not conditional on whether
__STDC_WANT_IEC_60559_TYPES_EXT__ is defined when <float.h> is
included.
I raised this possible incompatibility with C11 (an implementation
should be able to conform simultaneously with C11, and with C11 + TS
18661) in DR#501. This is not yet resolved, but the latest proposal
<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2108.pdf> would
obsolete DECIMAL_DIG with the intention of limiting it to the C11
types (so making it equivalent to LDBL_DECIMAL_DIG). (This proposal
is intended to go along with a corresponding change to TS 18661-3 to
avoid the new types and non-arithmetic interchange encodings affecting
the value of DECIMAL_DIG.)
To avoid releasing GCC 7 with a wider-than-C11 value of DECIMAL_DIG
and possibly reverting back to a C11 value in a future release, this
patch reverts back to the C11 value now. If the proposed resolution
to DR#501 changes again so that DECIMAL_DIG *should* have a
wider-than-C11 value, we can move back to a wider-than-C11 value in
GCC 8.
Bootstrapped with no regressions on x86_64-pc-linux-gnu.
gcc/c-family:
* c-cppbuiltin.c (builtin_define_float_constants): Define
__DECIMAL_DIG__ to the value for long double.
gcc/testsuite:
* gcc.dg/c11-float-2.c: New test.
* gcc.dg/torture/float128-floath.c,
gcc.dg/torture/float128x-floath.c,
gcc.dg/torture/float16-floath.c, gcc.dg/torture/float32-floath.c,
gcc.dg/torture/float32x-floath.c, gcc.dg/torture/float64-floath.c,
gcc.dg/torture/float64x-floath.c: Do not test comparison of
*_DECIMAL_DIG macros with DECIMAL_DIG.
From-SVN: r245555
Jason Merrill [Fri, 17 Feb 2017 22:05:18 +0000 (17:05 -0500)]
PR c++/79508 - lookup error with member template
* parser.c (cp_parser_template_name): Clear
parser->context->object_type if we aren't doing lookup.
From-SVN: r245553
Jason Merrill [Fri, 17 Feb 2017 20:28:38 +0000 (15:28 -0500)]
PR c++/78690 - ICE with using and global type with same name
* pt.c (type_dependent_object_expression_p): True for
IDENTIFIER_NODE.
From-SVN: r245549
Bill Schmidt [Fri, 17 Feb 2017 19:11:06 +0000 (19:11 +0000)]
re PR target/79261 (vec_xxpermdi appears to have endian issues)
[gcc]
2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/79261
* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
* config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
generator for vsx_xxpermdi_<mode>_be.
* config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
force big-endian semantics.
(vsx_xxpermdi_<mode>_be): New define_expand with same
implementation as previous version of vsx_xxpermdi_<mode>.
[gcc/testsuite]
2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/79261
* gcc.target/powerpc/vec-xxpermdi.c: New file.
From-SVN: r245545
Jason Merrill [Fri, 17 Feb 2017 18:42:43 +0000 (13:42 -0500)]
PR c++/79549 - C++17 ICE with non-type auto template parameter pack
* pt.c (convert_template_argument): Just return an auto arg pack.
(tsubst_template_args): Don't tsubst an auto pack type.
From-SVN: r245544
Jason Merrill [Fri, 17 Feb 2017 18:42:37 +0000 (13:42 -0500)]
PR c++/79556 - C++17 ICE with non-type auto
* pt.c (do_auto_deduction): Don't try to deduce from null type.
From-SVN: r245543
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 17 Feb 2017 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245524
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 16 Feb 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245499
Joseph Myers [Wed, 15 Feb 2017 20:46:46 +0000 (20:46 +0000)]
* es.po: Update.
From-SVN: r245496
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 15 Feb 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245464
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
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