platform/upstream/gcc.git
7 years agoPR c++/80059 - ICE with noexcept and __transaction_atomic
Marek Polacek [Mon, 20 Mar 2017 15:02:09 +0000 (15:02 +0000)]
PR c++/80059 - ICE with noexcept and __transaction_atomic

PR c++/80059 - ICE with noexcept and __transaction_atomic
* except.c (build_must_not_throw_expr): Call
instantiate_non_dependent_expr_sfinae.

* g++.dg/tm/pr80059-2.C: New test.
* g++.dg/tm/pr80059.C: New test.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r246279

7 years agore PR sanitizer/80063 (gcc/asan.c: PVS-Studio: Incorrect Block Delimitation (CWE...
Marek Polacek [Mon, 20 Mar 2017 13:31:28 +0000 (13:31 +0000)]
re PR sanitizer/80063 (gcc/asan.c: PVS-Studio: Incorrect Block Delimitation (CWE-483))

PR sanitizer/80063
* asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0).

From-SVN: r246278

7 years agore PR tree-optimization/80113 (ICE in set_var_live_on_entry at tree-ssa-live.c:1018)
Richard Biener [Mon, 20 Mar 2017 13:06:58 +0000 (13:06 +0000)]
re PR tree-optimization/80113 (ICE in set_var_live_on_entry at tree-ssa-live.c:1018)

2017-03-20  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80113
* graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not
allocate extra SSA name for PHI def.
(add_close_phis_to_outer_loops): Likewise.
(add_close_phis_to_merge_points): Likewise.
(copy_loop_close_phi_args): Likewise.
(copy_cond_phi_nodes): Likewise.

From-SVN: r246277

7 years agoMPX: fix PR middle-end/79753
Martin Liska [Mon, 20 Mar 2017 10:06:00 +0000 (11:06 +0100)]
MPX: fix PR middle-end/79753

2017-03-20  Martin Liska  <mliska@suse.cz>

PR middle-end/79753
* tree-chkp.c (chkp_build_returned_bound): Do not build
returned bounds for a LHS that's not a BOUNDED_P type.
2017-03-20  Martin Liska  <mliska@suse.cz>

PR middle-end/79753
* gcc.target/i386/mpx/pr79753.c: New test.

From-SVN: r246276

7 years agoFix *_CST ICEs connected to MPX.
Martin Liska [Mon, 20 Mar 2017 10:04:06 +0000 (11:04 +0100)]
Fix *_CST ICEs connected to MPX.

2017-03-20  Martin Liska  <mliska@suse.cz>

PR target/79769
PR target/79770
* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
COMPLEX_CST and VECTOR_CST.
2017-03-20  Martin Liska  <mliska@suse.cz>

PR target/79769
PR target/79770
* g++.dg/pr79769.C: New test.
* gcc.target/i386/mpx/pr79770.c: New test.

From-SVN: r246275

7 years agoS/390: PR78857: Don't use load and test if result is live.
Andreas Krebbel [Mon, 20 Mar 2017 09:33:11 +0000 (09:33 +0000)]
S/390: PR78857: Don't use load and test if result is live.

The FP load and test instruction should not be used for a comparison
if the target operand is being used afterwards.  It unfortunately
turns SNaNs into QNaNs.

gcc/ChangeLog:

2017-03-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/78857
* config/s390/s390.md ("cmp<mode>_ccs_0"): Add a clobber of the
target operand.  A new splitter adds the clobber statement in case
the target operand is dead anyway.

gcc/testsuite/ChangeLog:

2017-03-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/78857
* gcc.target/s390/load-and-test-fp-1.c: New test.
* gcc.target/s390/load-and-test-fp-2.c: New test.

From-SVN: r246274

7 years agoPR c++/80084 - wrong C++17 decomposition by reference of parameter.
Jason Merrill [Mon, 20 Mar 2017 02:22:43 +0000 (22:22 -0400)]
PR c++/80084 - wrong C++17 decomposition by reference of parameter.

* decl.c (cp_finish_decomp): Don't pull out the DECL_INITIAL of a
reference decomposition.

From-SVN: r246273

7 years agoPR c++/80077 - error with constexpr and -fno-elide-constructors.
Jason Merrill [Mon, 20 Mar 2017 02:22:36 +0000 (22:22 -0400)]
PR c++/80077 - error with constexpr and -fno-elide-constructors.

* constexpr.c (cxx_eval_call_expression): Set ctx->call while
expanding trivial constructor.

From-SVN: r246272

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

From-SVN: r246271

7 years agoinstall.texi (Specific): No longer refer to age-old versions of binutils and glibc.
Gerald Pfeifer [Sun, 19 Mar 2017 07:34:46 +0000 (07:34 +0000)]
install.texi (Specific): No longer refer to age-old versions of binutils and glibc.

* doc/install.texi (Specific) <sparc-*-linux*>: No longer refer
to age-old versions of binutils and glibc.

From-SVN: r246266

7 years agoKill my doppelg\"anger
Segher Boessenkool [Sun, 19 Mar 2017 00:30:40 +0000 (01:30 +0100)]
Kill my doppelg\"anger

* doc/contrib.texi (Contributors): Remove duplicate entry for myself.

From-SVN: r246265

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

From-SVN: r246264

7 years agoMAINTAINERS: Add self to Write After Approval
Nicolas Koenig [Sat, 18 Mar 2017 21:44:27 +0000 (21:44 +0000)]
MAINTAINERS: Add self to Write After Approval

2017-03-18  Nicolas Koenig  <koenigni@gcc.gnu.org>

* MAINTAINERS: Add self to Write After Approval

From-SVN: r246261

7 years ago* doc/contrib.texi (Contributors): Add Segher Boessenkool.
Gerald Pfeifer [Sat, 18 Mar 2017 21:14:06 +0000 (21:14 +0000)]
* doc/contrib.texi (Contributors): Add Segher Boessenkool.

From-SVN: r246260

7 years agoappendix_contributing.xml: Convert link to ansi.org to https.
Gerald Pfeifer [Sat, 18 Mar 2017 18:39:54 +0000 (18:39 +0000)]
appendix_contributing.xml: Convert link to ansi.org to https.

* doc/xml/manual/appendix_contributing.xml: Convert link to
ansi.org to https.
Update link to the C++ standard at ansi.org.

* doc/xml/faq.xml: Remove information redundant with the above;
instead add a reference.

From-SVN: r246259

7 years ago* config.guess: Import latest from upstream.
Gerald Pfeifer [Sat, 18 Mar 2017 18:22:06 +0000 (18:22 +0000)]
* config.guess: Import latest from upstream.

From-SVN: r246258

7 years agoMAINTAINERS (Write After Approval): Remove entries that are already covered under...
Gerald Pfeifer [Sat, 18 Mar 2017 13:04:43 +0000 (13:04 +0000)]
MAINTAINERS (Write After Approval): Remove entries that are already covered under Reviewers.

* MAINTAINERS (Write After Approval): Remove entries that are
already covered under Reviewers.

From-SVN: r246257

7 years agore PR fortran/79676 ([submodules] Compilation/linking error when module procedures...
Paul Thomas [Sat, 18 Mar 2017 12:38:02 +0000 (12:38 +0000)]
re PR fortran/79676 ([submodules] Compilation/linking error when module procedures PRIVATE)

2017-03-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/79676
* module.c (mio_symbol_attribute): Remove reset of the flag
'no_module_procedures'.
(check_for_module_procedures): New function. Move declaration
of 'no_module_procedures' to above it.
(gfc_dump_module): Traverse namespace calling new function.

2017-03-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/79676
* gfortran.dg/submodule_28.f08 : New test.

From-SVN: r246256

7 years agore PR fortran/71838 (ICE with OpenCoarrays on submodule)
Paul Thomas [Sat, 18 Mar 2017 11:53:53 +0000 (11:53 +0000)]
re PR fortran/71838 (ICE with OpenCoarrays on submodule)

2017-03-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/71838
* symbol.c (check_conflict): A dummy procedure in a submodule,
module procedure is not an error.
(gfc_add_flavor): Ditto.

2017-03-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/71838
* gfortran.dg/submodule_26.f08 : New test.
* gfortran.dg/submodule_27.f08 : New test.

From-SVN: r246255

7 years agoinstall.texi (Specific): Remove old requirement for binutils 2.13.
Gerald Pfeifer [Sat, 18 Mar 2017 09:43:47 +0000 (09:43 +0000)]
install.texi (Specific): Remove old requirement for binutils 2.13.

* doc/install.texi (Specific) <arm-*-eabi>: Remove old
requirement for binutils 2.13.

From-SVN: r246254

7 years agoFix aarch64 bootstrap compare failure.
Jim Wilson [Sat, 18 Mar 2017 05:37:52 +0000 (05:37 +0000)]
Fix aarch64 bootstrap compare failure.

gcc/
* combine.c (try_combine): Delete redundant i1 test.  Call
prev_nonnote_nondebug_insn instead of prev_nonnote_insn.

From-SVN: r246253

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

From-SVN: r246252

7 years ago* c-parser.c: Add C11 references.
Marek Polacek [Fri, 17 Mar 2017 21:50:16 +0000 (21:50 +0000)]
* c-parser.c: Add C11 references.

From-SVN: r246249

7 years agore PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3)
Thomas Koenig [Fri, 17 Mar 2017 21:27:08 +0000 (21:27 +0000)]
re PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3)

2017-03-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/79956
* m4/reshape.m4 (reshape_'rtype_ccode`):  Correct use
of GFC_ASSERT.
* generated/reshape_c10.c: Regenerated.
* generated/reshape_c16.c: Regenerated.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_i16.c: Regenerated.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
* generated/reshape_r10.c: Regenerated.
* generated/reshape_r16.c: Regenerated.
* generated/reshape_r4.c: Regenerated.
* generated/reshape_r8.c: Regenerated.

From-SVN: r246248

7 years agoFix alignment bugs in std::codecvt_utf16
Jonathan Wakely [Fri, 17 Mar 2017 19:28:05 +0000 (19:28 +0000)]
Fix alignment bugs in std::codecvt_utf16

* src/c++11/codecvt.cc (range): Add non-type template parameter and
define oerloaded operators for reading and writing code units.
(range<Elem, false>): Define partial specialization for accessing
wide characters in potentially unaligned byte ranges.
(ucs2_span(const char16_t*, const char16_t*, ...))
(ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters
to range<const char16_t, false> in order to avoid unaligned reads.
(__codecvt_utf16_base<char16_t>::do_out)
(__codecvt_utf16_base<char32_t>::do_out)
(__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for
unaligned data to avoid unaligned writes.
(__codecvt_utf16_base<char16_t>::do_in)
(__codecvt_utf16_base<char32_t>::do_in)
(__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return
error if there are unprocessable trailing bytes.
(__codecvt_utf16_base<char16_t>::do_length)
(__codecvt_utf16_base<char32_t>::do_length)
(__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type
range<const char16_t, false> to span functions.
* testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test.

From-SVN: r246245

7 years agoPR c++/78345 - ICE initializing array from lambda.
Jason Merrill [Fri, 17 Mar 2017 18:56:22 +0000 (14:56 -0400)]
PR c++/78345 - ICE initializing array from lambda.

* init.c (build_aggr_init): Check array initializer.
(build_vec_init): Check the type of a CONSTRUCTOR.

From-SVN: r246244

7 years agoRISC-V documentation cleanups
Palmer Dabbelt [Fri, 17 Mar 2017 18:49:34 +0000 (18:49 +0000)]
RISC-V documentation cleanups

A recent mailing list post about install.texi cleanup suggested I take a
look at ours, and there were a few problems:

 * No table of contents entries
 * Not alphabetically ordered
 * Missing a note about requiring binutils-2.28

gcc/ChangeLog:

2017-03-17  Palmer Dabbelt  <palmer@dabbelt.com

        * doc/install.texi (Specific) <riscv32-*-elf>: Add riscv32-*-elf,
        riscv32-*-linux, riscv64-*-elf, riscv64-*-linux to the table of
        contents.
        <riscv64-*-elf>: Re-arrange section
        <riscv32-*-elf>: Add a note about requiring binutils 2.28.
        <riscv32-*-linux>: Likewise.
        <riscv64-*-elf>: Likewise
        <riscv64-*-linux>: Likewise.

From-SVN: r246243

7 years agoPR c++/80073 - C++17 ICE with virtual base.
Jason Merrill [Fri, 17 Mar 2017 18:42:09 +0000 (14:42 -0400)]
PR c++/80073 - C++17 ICE with virtual base.

* decl.c (xref_basetypes): Also check for indirect vbases.

From-SVN: r246242

7 years agore PR fortran/79841 (Inconsistent diagnostics in fortran/openmp.c, function check_sym...
Jerry DeLisle [Fri, 17 Mar 2017 18:21:08 +0000 (18:21 +0000)]
re PR fortran/79841 (Inconsistent diagnostics in fortran/openmp.c, function check_symbol_not_pointer)

2017-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/79841
* openmp.c (check_symbol_not_pointer): Adjust diagnostics.

From-SVN: r246241

7 years ago[aarch64] Fix typo in aarch64.opt (dummping -> dumping).
Richard Earnshaw [Fri, 17 Mar 2017 17:05:23 +0000 (17:05 +0000)]
[aarch64] Fix typo in aarch64.opt (dummping -> dumping).

PR target/80052
* aarch64.opt(verbose-cost-dump): Fix typo.

From-SVN: r246229

7 years agore PR target/79951 (ICE in extract_insn, at recog.c:2311 on ppc64le with -mno-cmpb)
Pat Haugen [Fri, 17 Mar 2017 16:42:29 +0000 (16:42 +0000)]
re PR target/79951 (ICE in extract_insn, at recog.c:2311 on ppc64le with -mno-cmpb)

PR target/79951
* config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
for VECTOR_UNIT_VSX_P (<MODE>mode) too.
* gcc.target/powerpc/pr79951.c: New.

From-SVN: r246228

7 years agoreload.c (find_reloads): When reloading a nonoffsettable address...
Bernd Schmidt [Fri, 17 Mar 2017 15:39:28 +0000 (15:39 +0000)]
reload.c (find_reloads): When reloading a nonoffsettable address...

* reload.c (find_reloads): When reloading a nonoffsettable address,
use RELOAD_OTHER for it and its address reloads.

From-SVN: r246227

7 years agore PR rtl-optimization/79910 (wrong code with -O -fweb)
Bernd Schmidt [Fri, 17 Mar 2017 15:10:13 +0000 (09:10 -0600)]
re PR rtl-optimization/79910 (wrong code with -O -fweb)

PR rtl-optimization/79910
* combine.c (record_used_regs): New static function.
(try_combine): Handle situations where there is an additional
instruction between I2 and I3 which needs to have a LOG_LINK
updated.

PR rtl-optimization/79910
* gcc.dg/torture/pr79910.c: New test.

From-SVN: r246226

7 years agore PR tree-optimization/71437 (Performance regression after r235817)
Jeff Law [Fri, 17 Mar 2017 15:01:56 +0000 (09:01 -0600)]
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the
conditional in the hash table first.
(vrp_dom_walker::before_dom_children): Extract condition from
ASSERT_EXPR.  Record condition, its inverion and any implied
conditions as well.

PR tree-optimization/71437
* gcc.dg/tree-ssa/pr71437.c: New test.
* gcc.dg/tree-ssa/20040305-1.c: Test earlier dump.
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Adjust for jump threads
now caught by VRP, but which were previously caught by DOM.

From-SVN: r246225

7 years agore PR tree-optimization/80079 (Conditional jump or move depends on uninitialised...
Marek Polacek [Fri, 17 Mar 2017 13:14:42 +0000 (13:14 +0000)]
re PR tree-optimization/80079 (Conditional jump or move depends on uninitialised value(s): gimple-ssa-store-merging.c:768)

PR tree-optimization/80079
* gimple-ssa-store-merging.c (class pass_store_merging): Initialize
m_stores_head.

Co-Authored-By: Markus Trippelsdorf <markus@trippelsdorf.de>
From-SVN: r246224

7 years agore PR c++/80075 (ICE: "statement marked for throw, but doesn’t" with -fnon-call-excep...
Richard Biener [Fri, 17 Mar 2017 12:48:56 +0000 (12:48 +0000)]
re PR c++/80075 (ICE: "statement marked for throw, but doesn’t" with -fnon-call-exceptions)

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

PR middle-end/80075
* tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns.
Properly verify the LHS before the RHS possibly claims to be
handled.
(stmt_could_throw_p): Hande gimple conds fully here.  Clobbers
do not throw.

* g++.dg/torture/pr80075.C: New testcase.

From-SVN: r246223

7 years agoDocument -fipa-vrp
Martin Jambor [Fri, 17 Mar 2017 12:34:27 +0000 (13:34 +0100)]
Document -fipa-vrp

2017-03-17  Martin Jambor  <mjambor@suse.cz>

* doc/invoke.texi (Option Options): Include -fipa-vrp in the list.
(List of -O2 options): Likewise.
(-fipa-bit-cp): Replace "ipa" with "interprocedural."
(-fipa-vrp) New.

From-SVN: r246221

7 years agoPrint bug url for gcov-dump --help
Tom de Vries [Fri, 17 Mar 2017 12:14:50 +0000 (12:14 +0000)]
Print bug url for gcov-dump --help

2017-03-17  Tom de Vries  <tom@codesourcery.com>

* gcov-dump.c (print_usage): Print bug_report_url.

From-SVN: r246219

7 years agore PR other/80050 (gcc/genmatch.c: PVS-Studio: V590)
Richard Biener [Fri, 17 Mar 2017 11:04:00 +0000 (11:04 +0000)]
re PR other/80050 (gcc/genmatch.c: PVS-Studio: V590)

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

PR middle-end/80050
* genmatch.c (parser::next): Remove pointless check for CPP_EOF.
(parser::peek): Likewise.

From-SVN: r246218

7 years agore PR tree-optimization/80048 (gcc/sese.c: PVS-Studio: Improper Release of Memory...
Richard Biener [Fri, 17 Mar 2017 11:03:32 +0000 (11:03 +0000)]
re PR tree-optimization/80048 (gcc/sese.c: PVS-Studio: Improper Release of Memory Before Removing Last Reference (CWE-401))

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

PR tree-optimization/80048
* sese.c (free_sese_info): Properly release rename_map and
copied_bb_map elements.

From-SVN: r246217

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

From-SVN: r246216

7 years agostabilize store merging
Alexandre Oliva [Thu, 16 Mar 2017 23:31:01 +0000 (23:31 +0000)]
stabilize store merging

Don't let pointer randomization change the order in which we process
store chains.  This may cause SSA_NAMEs to be released in different
order, and if they're reused later, they may cause differences in SSA
partitioning, leading to differences in expand, and ultimately to
different code.

bootstrap-debug-lean (-fcompare-debug) on i686-linux-gnu has failed in
haifa-sched.c since r245196 exposed the latent ordering problem in
store merging.  In this case, the IR differences (different SSA names
selected for copies in out-of-SSA, resulting in some off-by-one
differences in pseudos) were not significant enough to be visible in
the compiler output.

for  gcc/ChangeLog

* gimple-ssa-store-merging.c (struct imm_store_chain_info):
Add linked-list forward and backlinks.  Insert on
construction, remove on destruction.
(class pass_store_merging): Add m_stores_head field.
(pass_store_merging::terminate_and_process_all_chains):
Iterate over m_stores_head list.
(pass_store_merging::terminate_all_aliasing_chains):
Likewise.
(pass_store_merging::execute): Check for debug stmts first.
Push new chains onto the m_stores_head stack.

From-SVN: r246213

7 years ago* decl.c (start_enum): std::byte aliases anything.
Jason Merrill [Thu, 16 Mar 2017 21:16:45 +0000 (17:16 -0400)]
* decl.c (start_enum): std::byte aliases anything.

From-SVN: r246212

7 years ago* init.c (cpp_init_builtins): Update __cplusplus for C++17.
Jason Merrill [Thu, 16 Mar 2017 21:16:39 +0000 (17:16 -0400)]
* init.c (cpp_init_builtins): Update __cplusplus for C++17.

From-SVN: r246211

7 years agore PR c++/79797 (ICE with NSDMI, this pointer and constexpr)
Jason Merrill [Thu, 16 Mar 2017 21:16:33 +0000 (17:16 -0400)]
re PR c++/79797 (ICE with NSDMI, this pointer  and constexpr)

PR c++/79797
* constexpr.c (lookup_placeholder): Tweak.

From-SVN: r246210

7 years agore PR target/71294 (ICE in gen_add2_insn, at optabs.c:4442 on powerpc64le-linux)
Michael Meissner [Thu, 16 Mar 2017 20:09:21 +0000 (20:09 +0000)]
re PR target/71294 (ICE in gen_add2_insn, at optabs.c:4442 on powerpc64le-linux)

[gcc]
2017-03-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71294
* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
SPLAT operation on ISA 2.07 64-bit systems that have direct move,
but no MTVSRDD support, by doing MTVSRD and XXPERMDI.

[gcc/testsuite]
2017-03-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71294
* g++.dg/pr71294.C: New test.

From-SVN: r246209

7 years agore PR tree-optimization/71437 (Performance regression after r235817)
Jeff Law [Thu, 16 Mar 2017 19:21:33 +0000 (13:21 -0600)]
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
member function.  Implementation moved into after_dom_children
member function and into the threader's thread_outgoing_edges
function.
(dom_opt_dom_walker::after_dom_children): Simplify by moving
some code into new thread_outgoing_edges.
* tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
definition.  Simplify marker handling (do it here).   Assume we always
have the available expression and the const/copies tables.
(thread_outgoing_edges): New function extracted from tree-ssa-dom.c
and tree-vrp.c
* tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
* tree-vrp.c (equiv_stack): No longer file scoped.
(vrp_dom_walker): New class.
(vrp_dom_walker::before_dom_children): New member function.
(vrp_dom_walker::after_dom_children): Likewise.
(identify_jump_threads):  Setup domwalker.  Use it rather than
walking edges in a random order by hand.  Simplify setup/finalization.
(finalize_jump_threads): Remove.
(vrp_finalize): Do not call identify_jump_threads here.
(execute_vrp): Do it here instead and call thread_through_all_blocks
here too.

From-SVN: r246208

7 years agore PR tree-optimization/71437 (Performance regression after r235817)
Jeff Law [Thu, 16 Mar 2017 19:21:23 +0000 (13:21 -0600)]
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-ssa-dom.c (pfn_simplify): Add basic_block argument.  All
callers changed.
(simplify_stmt_for_jump_threading): Add basic_block argument.  All
callers changed.
(lhs_of_dominating_assert): Moved from here into tree-vrp.c.
(dom_opt_dom_walker::thread_across_edge): Remove
handle_dominating_asserts argument.  All callers changed.
(record_temporary_equivalences_from_stmts_at_dest): Corresponding
changes.  Remove calls to lhs_of_dominating_assert.  Other
uses of handle_dominating_asserts turn into unconditional code
(simplify_control_stmt_condition_1): Likewise.
(simplify_control_stmt_condition): Likewise.
(thread_through_normal_block, thread_across_edge): Likewise.
* tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
* tree-vrp.c (lhs_of_dominating_assert): Move here.  Return original
object if it is not an SSA_NAME.
(simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
before calling into the VRP specific simplifiers.
(identify_jump_threads): Remove handle_dominating_asserts
argument.

From-SVN: r246207

7 years agoFix tree-prof/pr66295.c
Segher Boessenkool [Thu, 16 Mar 2017 18:18:58 +0000 (19:18 +0100)]
Fix tree-prof/pr66295.c

This testcase can only ever be built on x86 (it needs the "avx*"
attributes).  This patch skips the test elsewhere.

gcc/testsuite/
* gcc.dg/tree-prof/pr66295.c: Skip unless on an x86 target.

From-SVN: r246206

7 years agoPR libstdc++/79980 fix target type of cast
Jonathan Wakely [Thu, 16 Mar 2017 17:22:47 +0000 (17:22 +0000)]
PR libstdc++/79980 fix target type of cast

PR libstdc++/79980
* src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type.

From-SVN: r246205

7 years agore PR fortran/80010 (diagnostics: typo $!)
Jakub Jelinek [Thu, 16 Mar 2017 16:50:27 +0000 (17:50 +0100)]
re PR fortran/80010 (diagnostics: typo $!)

PR fortran/80010
* parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
and ST_OACC_END_ATOMIC, instead of !ACC.
* trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
* openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
gfc_resolve_oacc_declare): Likewise.

* gfortran.dg/goacc/asyncwait-3.f95: Adjust expected diagnostic.

From-SVN: r246204

7 years agore PR fortran/79886 (ICE in pp_format, at pretty-print.c:681)
Jakub Jelinek [Thu, 16 Mar 2017 16:27:08 +0000 (17:27 +0100)]
re PR fortran/79886 (ICE in pp_format, at pretty-print.c:681)

PR fortran/79886
* tree-diagnostic.c (default_tree_printer): No longer static.
* tree-diagnostic.h (default_tree_printer): New prototype.
fortran/
* error.c (gfc_format_decoder): Rename plus argument to set_locus,
remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
if not a Fortran specific spec.
* trans-io.c: Include options.h.
(gfc_build_st_parameter): Temporarily disable -Wpadded around layout
of artificial IO data structures.
testsuite/
* gfortran.dg/pr79886.f90: New test.

From-SVN: r246203

7 years agoPR libstdc++/80041 fix codecvt_utf16<wchar_t> to use UTF-16 not UTF-8
Jonathan Wakely [Thu, 16 Mar 2017 15:28:02 +0000 (15:28 +0000)]
PR libstdc++/80041 fix codecvt_utf16<wchar_t> to use UTF-16 not UTF-8

PR libstdc++/80041
* src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out)
(__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to
char16_t to work with UTF-16 instead of UTF-8.
* testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test.

From-SVN: r246202

7 years agoFix encoding() and max_length() values for codecvt facets
Jonathan Wakely [Thu, 16 Mar 2017 15:27:57 +0000 (15:27 +0000)]
Fix encoding() and max_length() values for codecvt facets

* src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>)
(codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>)
(__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>)
(__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>)
(__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>)
(__codecvt_utf8_utf16_base<char32_t>)
(__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and
do_max_length() return values.
* testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test.

From-SVN: r246201

7 years agoPR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling
Jonathan Wakely [Thu, 16 Mar 2017 15:27:51 +0000 (15:27 +0000)]
PR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling

PR libstdc++/79980
* include/bits/locale_conv.h (__do_str_codecvt): Set __count on
error path.
* src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads
for manipulating codecvt_mode values.
(read_utf16_bom): Compare input to BOM constants instead of integral
constants that depend on endianness.  Take mode parameter by
reference and adjust it, to distinguish between no BOM present and
UTF-16BE BOM present.
(ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom.
(surrogates): New enumeration type.
(utf16_in, utf16_out): Add surrogates parameter to choose between
UTF-16 and UCS2 behaviour.
(utf16_span, ucs2_span): Use std::min not std::max.
(ucs2_out): Use std::min not std::max.  Disallow surrogate pairs.
(ucs2_in): Likewise. Adjust calls to read_utf16_bom.
* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test.

From-SVN: r246200

7 years agoPR libstdc++/79511 fix endianness of UTF-16 data
Jonathan Wakely [Thu, 16 Mar 2017 15:27:45 +0000 (15:27 +0000)]
PR libstdc++/79511 fix endianness of UTF-16 data

PR libstdc++/79511
* src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff
as a surrogate pair.
(__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness
for internal representation.
(__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test.

From-SVN: r246199

7 years agoPR libstdc++/80064 make heap algorithms work with function types
Jonathan Wakely [Thu, 16 Mar 2017 14:32:07 +0000 (14:32 +0000)]
PR libstdc++/80064 make heap algorithms work with function types

PR libstdc++/80064
* include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap)
(pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with
invalid instantiations using function types for _Compare argument.
* testsuite/25_algorithms/make_heap/80064.cc: New test.

From-SVN: r246197

7 years agoPR libstdc++/67440 make pretty printers work with GDB 7.6 again
Jonathan Wakely [Thu, 16 Mar 2017 14:11:48 +0000 (14:11 +0000)]
PR libstdc++/67440 make pretty printers work with GDB 7.6 again

PR libstdc++/67440
* python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name
for GDB 7.6 compatibility, use gdb.Type.unqualified instead.

From-SVN: r246196

7 years agoFix typo and replace non-breaking spaces in libstdc++-v3/ChangeLog
Jonathan Wakely [Thu, 16 Mar 2017 12:18:14 +0000 (12:18 +0000)]
Fix typo and replace non-breaking spaces in libstdc++-v3/ChangeLog

From-SVN: r246191

7 years ago2017-03-16 Tamar Christina <tamar.christina@arm.com>
Tamar Christina [Thu, 16 Mar 2017 11:41:24 +0000 (11:41 +0000)]
2017-03-16  Tamar Christina  <tamar.christina@arm.com>

* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
Change ins into fmov.

From-SVN: r246190

7 years ago[AArch64] Use 'x' constraint for vector HFmode multiplication by indexed element...
Kyrylo Tkachov [Thu, 16 Mar 2017 10:03:11 +0000 (10:03 +0000)]
[AArch64] Use 'x' constraint for vector HFmode multiplication by indexed element instructions

* config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
Use h_con constraint for operand 1.
(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
(*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.

From-SVN: r246189

7 years agore PR tree-optimization/71437 (Performance regression after r235817)
Jeff Law [Thu, 16 Mar 2017 03:19:46 +0000 (21:19 -0600)]
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
(record_temporary_equivalences): Use it.

From-SVN: r246187

7 years agore PR tree-optimization/71437 (Performance regression after r235817)
Jeff Law [Thu, 16 Mar 2017 03:19:35 +0000 (21:19 -0600)]
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-ssa-dom.c (struct cond_equivalence): Moved from here into
tree-ssa-scopedtables.
(lookup_avail_expr, build_and_record_new_cond): Likewise.
(record_conditions, record_cond, vuse_eq): Likewise.
(record_edge_info): Adjust to API tweak of record_conditions.
(simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
(record_temporary_equivalences, optimize_stmt): Likewise.
(eliminate_redundant_computations): Likewise.
(record_equivalences_from_stmt): Likewise.
* tree-ssa-scopedtables.c: Include options.h and params.h.
(vuse_eq): New function, moved from tree-ssa-dom.c
(build_and_record_new_cond): Likewise.
(record_conditions): Likewise.  Accept vector of conditions rather
than edge_equivalence structure for first argument.
for the first argument.
(avail_exprs_stack::lookup_avail_expr): New member function, moved
from tree-ssa-dom.c.
(avail_exprs_stack::record_cond): Likewise.
* tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
from tree-ssa-dom.c.
(avail_exprs_stack): Add new member functions lookup_avail_expr
and record_cond.
(record_conditions): Declare.

From-SVN: r246186

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

From-SVN: r246185

7 years agoImplement LWG 2857, {variant,optional,any}::emplace should return the constructed...
Ville Voutilainen [Wed, 15 Mar 2017 23:13:20 +0000 (01:13 +0200)]
Implement LWG 2857, {variant,optional,any}::emplace should return the constructed value.

Implement LWG 2857, {variant,optional,any}::emplace should
return the constructed value.
* include/std/any (emplace(_Args&&...)): Change the return type and
return a reference to the constructed value.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/optional (emplace(_Args&&...)): Likewise.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/variant (emplace<_Tp>(_Args&&...)): Likewise.
(emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise.
(emplace<_Np>(_Args&&...)): Likewise.
(emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise.
* testsuite/20_util/any/assign/emplace.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
* testsuite/20_util/optional/assignment/6.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/variant/run.cc: Likewise.

From-SVN: r246182

7 years agore PR target/80017 (ICE: Max. number of generated reload insns per insn is achieved...
Vladimir Makarov [Wed, 15 Mar 2017 23:04:09 +0000 (23:04 +0000)]
re PR target/80017 (ICE: Max. number of generated reload insns per insn is achieved (90))

2017-03-15  Vladimir Makarov  <vmakarov@redhat.com>

PR target/80017
* lra-constraints.c (process_alt_operands): Increase reject for
reloading an input/output operand.

From-SVN: r246181

7 years agoPR c++/80043 - ICE with -fpermissive
Jason Merrill [Wed, 15 Mar 2017 21:32:43 +0000 (17:32 -0400)]
PR c++/80043 - ICE with -fpermissive

* typeck.c (convert_for_assignment): Handle instantiate_type
not giving an error.

From-SVN: r246180

7 years agore PR target/79038 (Improve PowerPC ISA 3.0 conversion between integers and hardware...
Michael Meissner [Wed, 15 Mar 2017 21:17:35 +0000 (21:17 +0000)]
re PR target/79038 (Improve PowerPC ISA 3.0 conversion between integers and hardware _Float128)

[gcc]
2017-03-15  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79038
* config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
insns to convert from signed/unsigned char/short to IEEE 128-bit
floating point.
(floatuns<QHI:mode><IEEE128:mode>2): Likewise.

[gcc/testsuite]
2017-03-15  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79038
* gcc.target/powerpc/pr79038-1.c: New test.

From-SVN: r246178

7 years ago* de.po: Update.
Joseph Myers [Wed, 15 Mar 2017 21:07:52 +0000 (21:07 +0000)]
* de.po: Update.

From-SVN: r246177

7 years agors6000: Do not xfail nint_2.f90 on Linux systems
Segher Boessenkool [Wed, 15 Mar 2017 20:48:49 +0000 (21:48 +0100)]
rs6000: Do not xfail nint_2.f90 on Linux systems

It was XFAILed because there was a bug in glibc, but that bug was fixed
nine years ago.  Nowadays everyone uses a version of glibc with the bug
fixed, so we should no longer XFAIL the test.

gcc/testsuite/
PR fortran/33271
* gfortran.dg/nint_2.f90: Do not xfail powerpc*-*-linux*.

From-SVN: r246174

7 years agoPR libstdc++/62045 fix O(N) insertion in pd_ds binary heap
Jonathan Wakely [Wed, 15 Mar 2017 20:11:48 +0000 (20:11 +0000)]
PR libstdc++/62045 fix O(N) insertion in pd_ds binary heap

2017-03-15  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>

PR libstdc++/62045
* include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp
(is_heap): Remove.
(push_heap): Remove the wrong checking using is_heap.
(make_heap): Remove the assertion using is_heap.
* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
(modify): Ditto.
(resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after
calling make_heap.

2017-03-15  Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/62045
* testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
New test.
* testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste
error in comment.

From-SVN: r246173

7 years agoFix translation issue with character length * errors (PR fortran/79860)
David Malcolm [Wed, 15 Mar 2017 18:05:06 +0000 (18:05 +0000)]
Fix translation issue with character length * errors (PR fortran/79860)

gcc/fortran/ChangeLog:
PR fortran/79860
* resolve.c (resolve_contained_fntype): Make error messages more
amenable to translation.

From-SVN: r246170

7 years ago[gcc, testsuite] Don't xfail on arm
Jiong Wang [Wed, 15 Mar 2017 15:33:12 +0000 (15:33 +0000)]
[gcc, testsuite] Don't xfail on arm

PR testsuite/79356
* gcc.dg/attr-alloc_size-11.c: Don't xfail on arm.

From-SVN: r246167

7 years agoFix typo in config.h.in comment
Jonathan Wakely [Wed, 15 Mar 2017 15:23:44 +0000 (15:23 +0000)]
Fix typo in config.h.in comment

* acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in
comment.
* config.h.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.

From-SVN: r246165

7 years agoDon't use Win32 functions on CYGWIN.
NightStrike [Wed, 15 Mar 2017 13:46:35 +0000 (13:46 +0000)]
Don't use Win32 functions on CYGWIN.

This was a workaround for a cygwin bug which was fixed 4 years ago,
and cygwin hasn't supported affected versions for a long time.

2017-03-15  NightStrike  <nightstrike@gmail.com>
    Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/random.c (getosrandom): Remove check for __CYGWIN__
preprocessor flag.
* intrinsics/system_clock.c: Likewise.
(system_clock_4): Likewise.
(system_clock_8): Likewise.
* intrinsics/time_1.h: Don't include windows.h if __CYGWIN__ is
defined.

Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>
From-SVN: r246162

7 years agore PR target/80019 (ICE in ix86_vector_duplicate_value, at config/i386/i386.c:42584)
Uros Bizjak [Wed, 15 Mar 2017 13:38:51 +0000 (14:38 +0100)]
re PR target/80019 (ICE in ix86_vector_duplicate_value, at config/i386/i386.c:42584)

PR target/80019
* config/i386/i386.c (ix86_vector_duplicate_value): Create
subreg of inner mode for values already in registers.

testsuite/ChangeLog:

PR target/80019
* gcc.target/i386/pr80019.c: New test.

From-SVN: r246161

7 years agoc6x.c (hwloop_optimize): Handle case where the old iteration reg is used after the...
Bernd Schmidt [Wed, 15 Mar 2017 13:36:50 +0000 (13:36 +0000)]
c6x.c (hwloop_optimize): Handle case where the old iteration reg is used after the loop.

* config/c6x/c6x.c (hwloop_optimize): Handle case where the old
iteration reg is used after the loop.

From-SVN: r246160

7 years ago* c-parser.c (c_parser_enum_specifier): Remove redundant line.
Marek Polacek [Wed, 15 Mar 2017 11:18:26 +0000 (11:18 +0000)]
* c-parser.c (c_parser_enum_specifier): Remove redundant line.

From-SVN: r246156

7 years agoRemoved unused dg-error.
Martin Liska [Wed, 15 Mar 2017 10:06:10 +0000 (11:06 +0100)]
Removed unused dg-error.

2017-03-15  Martin Liska  <mliska@suse.cz>

* gcc.dg/tree-prof/pr66295.c: Removed unused dg-error.

From-SVN: r246154

7 years agore PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3)
Thomas Koenig [Wed, 15 Mar 2017 07:45:39 +0000 (07:45 +0000)]
re PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3)

2017-03-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/79956
* libgfortran.h (GFC_ASSERT):  New macro.
* m4/reshape.m4 (reshape_'rtype_ccode`):  Use GFC_ASSERT
to specify that sdim > 0 and rdim > 0.
* intrinsic/reshape_generic.c (reshape_internal):  Likweise.
* generated/reshape_c10.c: Regenerated.
* generated/reshape_c16.c: Regenerated.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_i16.c: Regenerated.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
* generated/reshape_r10.c: Regenerated.
* generated/reshape_r16.c: Regenerated.
* generated/reshape_r4.c: Regenerated.
* generated/reshape_r8.c: Regenerated.

From-SVN: r246153

7 years agore PR bootstrap/79771 (in-tree zlib breaks build)
Yaakov Selkowitz [Wed, 15 Mar 2017 05:01:23 +0000 (23:01 -0600)]
re PR bootstrap/79771 (in-tree zlib breaks build)

2017-03-15  Yaakov Selkowitz <yselkowitz@redhat.com>

PR bootstrap/79771
* gzguts.h (WIDECHAR): Do not define for __CYGWIN__.
* zlib.h (gzopen_w): Do not declare for __CYGWIN__.
* win32/zlib.def: Remove gzopen_w.

From-SVN: r246152

7 years agore PR tree-optimization/79800 (wrong snprintf result range with precision in a narrow...
Martin Sebor [Wed, 15 Mar 2017 04:31:27 +0000 (04:31 +0000)]
re PR tree-optimization/79800 (wrong snprintf result range with precision in a narrow negative-positive range)

PR tree-optimization/79800
* gimple-ssa-sprintf.c (format_floating: Add argument.  Handle
precision in negative-positive range.
(format_floating): Call non-const overload with adjusted precision.

PR tree-optimization/79800
* gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: Add test cases.
* gcc.dg/tree-ssa/pr79800.c: New test.

From-SVN: r246151

7 years agore PR target/79947 (ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570)
Michael Meissner [Wed, 15 Mar 2017 00:25:10 +0000 (00:25 +0000)]
re PR target/79947 (ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570)

[gcc]
2017-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79947
* config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
-mpowerpc-gfxopt.

[gcc/testsuite]
2017-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79947
* gcc.target/powerpc/pr79947.c: New test.

From-SVN: r246150

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

From-SVN: r246149

7 years agore PR middle-end/80020 (gcc confused about aligned_alloc argument order)
Martin Sebor [Tue, 14 Mar 2017 22:16:27 +0000 (22:16 +0000)]
re PR middle-end/80020 (gcc confused about aligned_alloc argument order)

PR middle-end/80020
* builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro.
* builtins.def (aligned_alloc): Use it.

PR middle-end/80020
* gcc.dg/attr-alloc_size-6.c: Correct aligned_alloc argument order.
* gcc.dg/attr-alloc_size-7.c: Same.
* gcc.dg/attr-alloc_size-9.c: Same.
* gcc.dg/builtin-alloc-size.c: Same.
* gcc.dg/pr80020.c: New test.

From-SVN: r246145

7 years agore PR c/79936 (ICE with -Walloc-size-larger-than=32767)
Martin Sebor [Tue, 14 Mar 2017 22:09:40 +0000 (22:09 +0000)]
re PR c/79936 (ICE with -Walloc-size-larger-than=32767)

PR c/79936
* Makefile.in (GTFILES): Add calls.c.
* calls.c: Include "gt-calls.h".

From-SVN: r246144

7 years agore PR rtl-optimization/79728 (ICE in setup_pressure_classes, at ira.c:912)
Bernd Schmidt [Tue, 14 Mar 2017 17:50:46 +0000 (11:50 -0600)]
re PR rtl-optimization/79728 (ICE in setup_pressure_classes, at ira.c:912)

PR rtl-optimization/79728
* regs.h (struct target_regs): New field
x_contains_allocatable_regs_of_mode.
(contains_allocatable_regs_of_mode): New macro.
* reginfo.c (init_reg_sets_1): Initialize it, and change
contains_reg_of_mode so it includes global regs as well.
* reload.c (push_reload): Use contains_allocatable_regs_of_mode
rather than contains_regs_of_mode.

PR rtl-optimization/79728
* gcc.target/i386/sse-globalreg.c: New test.

From-SVN: r246138

7 years agoDocument options that can't be combined with -fcheck-pointer-bounds.
Martin Liska [Tue, 14 Mar 2017 15:32:23 +0000 (16:32 +0100)]
Document options that can't be combined with -fcheck-pointer-bounds.

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

* doc/invoke.texi: Document options that can't be combined with
-fcheck-pointer-bounds.

From-SVN: r246130

7 years agoDocument -Wchkp (PR middle-end/79831).
Martin Liska [Tue, 14 Mar 2017 15:31:53 +0000 (16:31 +0100)]
Document -Wchkp (PR middle-end/79831).

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

PR middle-end/79831
* doc/invoke.texi (-Wchkp): Document the option.

From-SVN: r246129

7 years agoPR libstdc++/79162 disambiguate assignment from string_view
Jonathan Wakely [Tue, 14 Mar 2017 14:51:19 +0000 (14:51 +0000)]
PR libstdc++/79162 disambiguate assignment from string_view

PR libstdc++/79162
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace
with a constrained template.
[!_GLIBCXX_USE_CXX11_ABI]
(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise.
* testsuite/21_strings/basic_string/cons/char/79162.cc: New test.
* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test.

From-SVN: r246128

7 years agoPR c++/79393 DR 1658 workaround
Nathan Sidwell [Tue, 14 Mar 2017 14:41:53 +0000 (14:41 +0000)]
PR c++/79393 DR 1658 workaround

PR c++/79393 DR 1658 workaround
* method.c (synthesized_method_base_walk): Inihibit abstract class
virtual base access check here.
(synthesized_method_walk): Not here.

From-SVN: r246126

7 years agoInstall gcov-dump.
Martin Liska [Tue, 14 Mar 2017 14:25:09 +0000 (15:25 +0100)]
Install gcov-dump.

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

* Makefile.in: Install gcov-dump.

From-SVN: r246125

7 years agoDo not ICE on an invalid input for MV.
Martin Liska [Tue, 14 Mar 2017 14:24:49 +0000 (15:24 +0100)]
Do not ICE on an invalid input for MV.

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

* multiple_target.c (expand_target_clones): Bail out for
an invalid attribute.

From-SVN: r246124

7 years agoalias.c (struct alias_set_entry): Pack properly.
Richard Biener [Tue, 14 Mar 2017 12:47:42 +0000 (12:47 +0000)]
alias.c (struct alias_set_entry): Pack properly.

2017-03-14  Richard Biener  <rguenther@suse.de>

* alias.c (struct alias_set_entry): Pack properly.
* cfgloop.h (struct loop): Likewise.
* cse.c (struct set): Likewise.
* ipa-utils.c (struct searchc_env): Likewise.
* loop-invariant.c (struct invariant): Likewise.
* lra-remat.c (struct cand): Likewise.
* recog.c (struct change_t): Likewise.
* rtl.h (struct address_info): Likewise.
* symbol-summary.h (function_summary): Likewise.
* tree-loop-distribution.c (struct partition): Likewise.
* tree-object-size.c (struct object_size_info): Likewise.
* tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
* tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
* tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
* tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
* tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
* tree-vectorizer.h (struct _loop_vec_info): Likewise.
(struct _stmt_vec_info): Likewise.

From-SVN: r246121

7 years agoVerify that target can create a dispatcher call (PR target/79892).
Martin Liska [Tue, 14 Mar 2017 12:05:29 +0000 (13:05 +0100)]
Verify that target can create a dispatcher call (PR target/79892).

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

PR target/79892
* multiple_target.c (create_dispatcher_calls): Check that
a target can create a function dispatcher.

From-SVN: r246120

7 years agoFix multiple target clones nodes (PR lto/66295).
Martin Liska [Tue, 14 Mar 2017 11:59:59 +0000 (12:59 +0100)]
Fix multiple target clones nodes (PR lto/66295).

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

PR lto/66295
* multiple_target.c (expand_target_clones): Drop local.local
flag for default implementation.
2017-03-14  Martin Liska  <mliska@suse.cz>

PR lto/66295
* gcc.dg/tree-prof/pr66295.c: New test.

From-SVN: r246119

7 years agos-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.
James Cowgill [Tue, 14 Mar 2017 09:26:17 +0000 (09:26 +0000)]
s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.

2017-03-14  James Cowgill  <James.Cowgill@imgtec.com>

        * s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.

From-SVN: r246118

7 years agore PR tree-optimization/80030 (valgrind error in vect_get_slp_defs at tree-vect-slp...
Richard Biener [Tue, 14 Mar 2017 08:02:34 +0000 (08:02 +0000)]
re PR tree-optimization/80030 (valgrind error in vect_get_slp_defs at tree-vect-slp.c:3360)

2017-03-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80030
* tree-vect-stmts.c (vectorizable_store): Plug memleak.

From-SVN: r246117

7 years agoUse gcc_fallthrough() instead of __attribute__((fallthrough)
Kito Cheng [Tue, 14 Mar 2017 03:51:24 +0000 (03:51 +0000)]
Use gcc_fallthrough() instead of __attribute__((fallthrough)

Without this my build breaks on older compilers like GCC-5.4.

gcc/ChangeLog:

2017-03-13  Kito Cheng  <kito.cheng@gmail.com>

       * config/riscv/riscv.c (riscv_emit_float_compare>: Use
       gcc_fallthrough() instead of __attribute__((fallthrough));

From-SVN: r246116

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

From-SVN: r246115