platform/upstream/gcc.git
7 years agoFix search_line_fast for aarch64/ILP32
Andreas Schwab [Tue, 21 Mar 2017 11:10:17 +0000 (11:10 +0000)]
Fix search_line_fast for aarch64/ILP32

* lex.c (search_line_fast) [__ARM_NEON && __ARM_64BIT_STATE]:
Convert 64-bit value to boolean before passing to
__builtin_expect.

From-SVN: r246312

7 years agoSkip gcc.dg/pic-2.c and gcc.dg/pie-2.c for MIPS.
Toma Tabacu [Tue, 21 Mar 2017 11:07:19 +0000 (11:07 +0000)]
Skip gcc.dg/pic-2.c and gcc.dg/pie-2.c for MIPS.

gcc/testsuite/

* gcc.dg/pic-2.c: Skip for MIPS.
* gcc.dg/pie-2.c: Skip for MIPS.

From-SVN: r246311

7 years agore PR c++/77752 (ICE on C++ code on x86_64-linux-gnu (internal compiler error: Segmen...
Paolo Carlini [Tue, 21 Mar 2017 10:18:51 +0000 (10:18 +0000)]
re PR c++/77752 (ICE on C++ code on x86_64-linux-gnu (internal compiler error: Segmentation fault, build_list_conv, implicit_conversion))

/cp
2017-03-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/77752
* name-lookup.c (pushtag_1): Add check for bogus, non template,
std::initializer_list.

/testsuite
2017-03-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/77752
* g++.dg/cpp0x/initlist97.C: New.
* g++.dg/cpp0x/initlist85.C: Update.

From-SVN: r246310

7 years agore PR sanitizer/78158 (Strange data race detection with thread sanitizer)
Jakub Jelinek [Tue, 21 Mar 2017 08:22:57 +0000 (09:22 +0100)]
re PR sanitizer/78158 (Strange data race detection with thread sanitizer)

PR sanitizer/78158
* tsan.c (instrument_builtin_call): If the memory model argument
is not a constant, assume it is valid.

From-SVN: r246306

7 years agore PR middle-end/67338 (fold-const sanitizer runtime error in roundup_loc)
Jakub Jelinek [Tue, 21 Mar 2017 08:10:30 +0000 (09:10 +0100)]
re PR middle-end/67338 (fold-const sanitizer runtime error  in roundup_loc)

PR c/67338
* fold-const.c (round_up_loc): Negate divisor in unsigned type to
avoid UB.

* gcc.dg/pr67338.c: New test.

From-SVN: r246305

7 years agoFix CL.
Marek Polacek [Tue, 21 Mar 2017 07:50:14 +0000 (07:50 +0000)]
Fix CL.

From-SVN: r246304

7 years agore PR c++/35878 ([LWG 2302] Useless NULL pointer check when constructing object)
Jakub Jelinek [Tue, 21 Mar 2017 07:30:48 +0000 (08:30 +0100)]
re PR c++/35878 ([LWG 2302] Useless NULL pointer check when constructing object)

PR c++/35878
* init.c (std_placement_new_fn_p, build_new_1): Formatting fixes.

* g++.dg/init/pr35878_1.C: Rewrite directives to scan optimized
dump instead of assembler.
* g++.dg/init/pr35878_2.C: Likewise.
* g++.dg/init/pr35878_3.C: Likewise.

From-SVN: r246303

7 years agore PR c/80097 (internal compiler error in c_fully_fold_internal with std=c89 and...
Jakub Jelinek [Tue, 21 Mar 2017 07:01:05 +0000 (08:01 +0100)]
re PR c/80097 (internal compiler error in c_fully_fold_internal with std=c89 and -fsanitize=float-divide-by-zero)

PR c/80097
* c-typeck.c (build_binary_op): Add EXCESS_PRECISION_EXPR only around
optional COMPOUND_EXPR with ubsan instrumentation.

* gcc.dg/ubsan/pr80097.c: New test.

From-SVN: r246302

7 years agore PR c++/35878 ([LWG 2302] Useless NULL pointer check when constructing object)
Ville Voutilainen [Tue, 21 Mar 2017 06:36:22 +0000 (08:36 +0200)]
re PR c++/35878 ([LWG 2302] Useless NULL pointer check when constructing object)

gcc/

PR c++/35878
* cp/init.c (std_placement_new_fn_p): New.
(build_new_1): Call it.

testsuite/

PR c++/35878
* g++.dg/init/pr35878_1.C: New.
* g++.dg/init/pr35878_2.C: Likewise.
* g++.dg/init/pr35878_3.C: Likewise.

From-SVN: r246301

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

From-SVN: r246300

7 years agocombine: Fix 79910
Segher Boessenkool [Mon, 20 Mar 2017 23:08:16 +0000 (00:08 +0100)]
combine: Fix 79910

If the dest of an I0 or I1 is used in an insn before I2, as can happen
in various uncommon cases, and we manage to do the combination, the set
is moved to I2, which is wrong.  Don't allow combining the insns in this
case.

PR rtl-optimization/79910
* combine.c (can_combine_p): Do not allow combining an I0 or I1
if its dest is used by an insn before I2 (other than the combined
insns themselves, which are properly handled already).

From-SVN: r246297

7 years agoRevert:
Segher Boessenkool [Mon, 20 Mar 2017 23:06:35 +0000 (00:06 +0100)]
Revert:

2017-03-17  Bernd Schmidt  <bschmidt@redhat.com>

* 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.

Revert:
2017-03-17  Jim Wilson  <jim.wilson@linaro.org>

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

From-SVN: r246296

7 years ago* de.po, fr.po: Update.
Joseph Myers [Mon, 20 Mar 2017 22:17:50 +0000 (22:17 +0000)]
* de.po, fr.po: Update.

From-SVN: r246295

7 years agostl_deque.h (deque): Access allocator value_type only if concept checks are enabled.
François Dumont [Mon, 20 Mar 2017 20:51:40 +0000 (20:51 +0000)]
stl_deque.h (deque): Access allocator value_type only if concept checks are enabled.

2017-03-20  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_deque.h (deque): Access allocator value_type only if
concept checks are enabled.
* include/bits/stl_stack.h (stack): Likewise.
* include/bits/stl_vector.h (vector): Likewise.
* include/bits/stl_list.h (list): Likewise and check
_SGIAssignableConcept only in C++03.
* include/bits/stl_map.h (map): Likewise.
* include/bits/stl_set.h (set): Likewise.
* include/bits/stl_multimap.h (multimap): Likewise.
* include/bits/stl_multiset.h (multiset): Likewise.
* include/bits/stl_queue.h (queue, priority_queue): Likewise.

From-SVN: r246294

7 years agore PR target/80083 (libgomp doacross2.f90 regtest fails with -mcpu=power9 -O1)
Aaron Sawdey [Mon, 20 Mar 2017 20:43:44 +0000 (20:43 +0000)]
re PR target/80083 (libgomp doacross2.f90 regtest fails with -mcpu=power9 -O1)

2017-03-20  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

PR target/80083
* config/rs6000/rs6000.md (*movsi_internal1): Fix constraints for
alternatives 13/14.

From-SVN: r246293

7 years agoPR c++/80096 - ICE with C++17 non-type auto.
Jason Merrill [Mon, 20 Mar 2017 20:36:54 +0000 (16:36 -0400)]
PR c++/80096 - ICE with C++17 non-type auto.

* pt.c (tsubst): Delay tsubst of type of template non-type
parameter.

From-SVN: r246292

7 years agoPR c++/79519 - ICE with deleted template friend.
Jason Merrill [Mon, 20 Mar 2017 20:36:46 +0000 (16:36 -0400)]
PR c++/79519 - ICE with deleted template friend.

* decl.c (grokdeclarator): Complain about misplaced function
definition using =, as well.

From-SVN: r246291

7 years agore PR tree-optimization/80054 (ICE in verify_ssa with -O3 -march=broadwell/skylake...
Bill Schmidt [Mon, 20 Mar 2017 20:04:25 +0000 (20:04 +0000)]
re PR tree-optimization/80054 (ICE in verify_ssa with -O3 -march=broadwell/skylake-avx512)

[gcc]

2017-03-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/80054
* gimple-ssa-strength-reduction.c (all_phi_incrs_profitable): Fail
the optimization if a PHI or any of its arguments is not dominated
by the candidate's basis.  Use gphi* rather than gimple* as
appropriate.
(replace_profitable_candidates): Clean up a gimple* variable that
should be a gphi* variable.

[gcc/testsuite]

2017-03-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/80054
* g++.dg/torture/pr80054.C: New file.

From-SVN: r246290

7 years agoPR c++/79640 - infinite recursion with generic lambda.
Jason Merrill [Mon, 20 Mar 2017 18:49:10 +0000 (14:49 -0400)]
PR c++/79640 - infinite recursion with generic lambda.

* pt.c (tsubst_copy) [VAR_DECL]: Register the dummy instantiation
before substituting its initializer.

From-SVN: r246289

7 years agoPR c++/52477 - Wrong initialization order __attribute__((constructor)) vs static...
Martin Sebor [Mon, 20 Mar 2017 18:33:31 +0000 (18:33 +0000)]
PR c++/52477 - Wrong initialization order __attribute__((constructor)) vs static data access

* doc/extend.texi (attribute constructor): Document present limitation.

From-SVN: r246288

7 years agore PR target/79963 (vec_eq_any extracts wrong CR bit when compiling with -mcpu=power9)
Kelvin Nilsen [Mon, 20 Mar 2017 18:05:00 +0000 (18:05 +0000)]
re PR target/79963 (vec_eq_any extracts wrong CR bit when compiling with -mcpu=power9)

gcc/testsuite/ChangeLog:

2017-03-20  Kelvin Nilsen  <kelvin@gcc.gnu.org>

PR target/79963
* gcc.target/powerpc/vsu/vec-any-eq-10.c: Add scan-assembler
directive to assure selection of proper bit using rlwinm insn.
* gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-8.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-9.c: Likewise.

gcc/ChangeLog:

2017-03-20  Kelvin Nilsen  <kelvin@gcc.gnu.org>

PR target/79963
* config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and
__POWER9_VECTOR__ #ifdef control, change template definition to
use Power9-specific built-in function.
(vec_any_eq): Likewise.
* config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used
to control outcomes from this test.
(vector_ae_<mode>p): For VEC_F modes, likewise.

From-SVN: r246287

7 years agoi386.c (ix86_function_regparm): Save an extra register for -fsplit-stack with DECL_ST...
Ian Lance Taylor [Mon, 20 Mar 2017 17:43:08 +0000 (17:43 +0000)]
i386.c (ix86_function_regparm): Save an extra register for -fsplit-stack with DECL_STATIC_CHAIN.

* config/i386/i386.c (ix86_function_regparm): Save an extra
register for -fsplit-stack with DECL_STATIC_CHAIN.

From-SVN: r246286

7 years agore PR fortran/39239 (Reject SAVEd variables EQUIVALENCEd to a COMMON)
Nicolas Koenig [Mon, 20 Mar 2017 16:50:00 +0000 (16:50 +0000)]
re PR fortran/39239 (Reject SAVEd variables EQUIVALENCEd to a COMMON)

2017-03-12 Nicolas Koenig <koenigni@student.ethz.ch>

PR fortran/39239
* symbol.c (check_conflict): report an error if an EQUIVALENCE variable is BIND(C).

2017-03-12 Nicolas Koenig <koenigni@student.ethz.ch>

PR fortran/39239
* gfortran.dg/equiv_constraint_bind_c.f90: New test.

From-SVN: r246284

7 years agoRISC-V: Don't prefer FP_REGS for integers
Palmer Dabbelt [Mon, 20 Mar 2017 16:43:21 +0000 (16:43 +0000)]
RISC-V: Don't prefer FP_REGS for integers

On RISC-V we can't store integers in floating-point registers as this is
forbidden by the ISA.  We've always disallowed this, but we were
setting the preferred mode to FP_REGS for some integer modes.  This
caused the LRA to blow up with some hard to read error messages.

This patch removes the prefered mode hook, as the right thing to do here
is nothing.

Thanks to Kito for finding the bug, and mpf for the fix.  See also
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79912>.

PR target/79912

From-SVN: r246283

7 years agoUse more conservative fences on RISC-V
Palmer Dabbelt [Mon, 20 Mar 2017 16:43:17 +0000 (16:43 +0000)]
Use more conservative fences on RISC-V

The RISC-V memory model is still in the process of being formally
specified, so for now we're going to be safe and add the I/O bits to
userspace fences because there's no way to know if userspace is touching
memory-mapped I/O regions at compile time.

This will have no impact on existing microarchitecutres because they
treat all fences conservatively.

gcc/ChangeLog:

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

        * config/riscv/riscv.c (riscv_print_operand): Use "fence
        iorw,ow".
        * config/riscv/sync.mc (mem_thread_fence_1): Use "fence
        iorw,iorw".

From-SVN: r246282

7 years agoDisable test inapplicable to RISC-V
Palmer Dabbelt [Mon, 20 Mar 2017 16:43:13 +0000 (16:43 +0000)]
Disable test inapplicable to RISC-V

The test is coupled to the branch cost model.

gcc/testsuite/ChangeLog:

* gcc.dg/tree-ssa/ssa-thread-14.c: Adjust target selector.

From-SVN: r246281

7 years agoAdd RISC-V Maintainers
Palmer Dabbelt [Mon, 20 Mar 2017 16:11:32 +0000 (16:11 +0000)]
Add RISC-V Maintainers

2017-03-20  Palmer Dabbelt  <palmer@dabbelt.com>

        * MAINTAINERS (CPU Port Maintainers): Add Kito Cheng, Palmer Dabbelt,
        and Andrew Waterman as the RISC-V maintainers.

From-SVN: r246280

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