gcc.git
7 years agoextend.texi (6.11 Additional Floating Types): Revise.
Bill Schmidt [Wed, 22 Mar 2017 01:45:49 +0000 (01:45 +0000)]
extend.texi (6.11 Additional Floating Types): Revise.

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

* doc/extend.texi (6.11 Additional Floating Types): Revise.

From-SVN: r246343

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

From-SVN: r246342

7 years agors6000-c.c (rs6000_target_modify_macros): Add comments.
Kelvin Nilsen [Wed, 22 Mar 2017 00:01:19 +0000 (00:01 +0000)]
rs6000-c.c (rs6000_target_modify_macros): Add comments.

gcc/ChangeLog:

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

* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
comments.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
comments.

From-SVN: r246339

7 years agoPR c++/79548 - missing -Wunused-variable on a typedef'd variable in a function template
Martin Sebor [Tue, 21 Mar 2017 22:33:39 +0000 (22:33 +0000)]
PR c++/79548 - missing -Wunused-variable on a typedef'd variable in a function template

gcc/c-family/ChangeLog:

PR c++/79548
* c-common.c (set_underlying_type): Mark type used only when
original del is declared unused.

gcc/testsuite/ChangeLog:

PR c++/79548
* g++.dg/warn/Wunused-var-26.C: New test.

From-SVN: r246335

7 years agoUse the more formal "cannot" instead of the informal "can't."
Martin Sebor [Tue, 21 Mar 2017 21:37:29 +0000 (21:37 +0000)]
Use the more formal "cannot" instead of the informal "can't."

gcc/ChangeLog:
* doc/extend.texi: Use "cannot" instead of "can't."
* doc/hostconfig.texi: Same.
* doc/install.texi: Same.
* doc/invoke.texi: Same.
* doc/loop.texi: Same.
* doc/md.texi: Same.
* doc/objc.texi: Same.
* doc/rtl.texi: Same.
* doc/tm.texi: Same.
* doc/tm.texi.in: Same.
* doc/trouble.texi: Same.

From-SVN: r246334

7 years ago[PR63238] include alignment debug information in DIE checksum
Alexandre Oliva [Tue, 21 Mar 2017 18:28:06 +0000 (18:28 +0000)]
[PR63238] include alignment debug information in DIE checksum

Add DW_AT_alignment to the DIE checksum.

for gcc/ChangeLog

PR debug/63238
* dwarf2out.c (struct checksum_attributes): Add at_alignment.
(collect_checksum_attributes): Set it.
(die_checksum_ordered): Use it.

From-SVN: r246331

7 years agore PR tree-optimization/79908 (ICE in gimplify_expr (gimplify.c:12155) gimplification...
Bill Schmidt [Tue, 21 Mar 2017 18:14:42 +0000 (18:14 +0000)]
re PR tree-optimization/79908 (ICE in gimplify_expr (gimplify.c:12155) gimplification failed)

[gcc]

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

PR tree-optimization/79908
* tree-stdarg.c (expand_ifn_va_arg_1): Revert the following
change: For a VA_ARG whose LHS has been cast away, use
force_gimple_operand to construct the side effects.

[gcc/testsuite]

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

PR tree-optimization/79908
* gcc.dg/torture/pr79908.c: Revert addition of new file.

From-SVN: r246330

7 years agoomp-offload.c: translation fixes (PR translation/80001)
David Malcolm [Tue, 21 Mar 2017 16:26:09 +0000 (16:26 +0000)]
omp-offload.c: translation fixes (PR translation/80001)

gcc/ChangeLog:
PR translation/80001
* omp-offload.c (oacc_loop_fixed_partitions): Make diagnostics
more amenable to translation.
(oacc_loop_auto_partitions): Likewise.

From-SVN: r246326

7 years agore PR tree-optimization/80109 (ICE in get_range_info, at tree-ssanames.c:375)
Marek Polacek [Tue, 21 Mar 2017 16:21:14 +0000 (16:21 +0000)]
re PR tree-optimization/80109 (ICE in get_range_info, at tree-ssanames.c:375)

PR tree-optimization/80109
* gimple-ssa-warn-alloca.c (alloca_call_type): Only call get_range_info
on INTEGRAL_TYPE_P.

* gcc.dg/Walloca-14.c: New test.

Co-Authored-By: Martin Sebor <msebor@redhat.com>
From-SVN: r246325

7 years agore PR target/80125 (r246297 causes segfault in reg_used_between_p())
Jakub Jelinek [Tue, 21 Mar 2017 14:49:51 +0000 (15:49 +0100)]
re PR target/80125 (r246297 causes segfault in reg_used_between_p())

PR target/80125
* combine.c (can_combine_p): Revert the 2017-03-20 change, only
check reg_used_between_p between insn and one of succ or succ2
depending on if succ is artificial insn not inserted into insn
stream.

* gcc.target/powerpc/pr80125.c: New test.

Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
From-SVN: r246323

7 years agore PR fortran/69498 (ICE on disjunct cases with displaced or incomplete embedded...
Nicolas Koenig [Tue, 21 Mar 2017 14:49:21 +0000 (14:49 +0000)]
re PR fortran/69498 (ICE on disjunct cases with displaced or incomplete embedded statement)

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

                PR fortran/69498
                * decl.c (add_hidden_procptr_result): Fixed Refs count of the created "ppr@" symbol.

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

                PR fortran/69498
                * gfortran.dg/unexp_attribute.f90: New test

From-SVN: r246322

7 years agoDocument gcov-dump and fix installation of gcov-tool (PR gcov-profile/80081).
Martin Liska [Tue, 21 Mar 2017 14:41:11 +0000 (15:41 +0100)]
Document gcov-dump and fix installation of gcov-tool (PR gcov-profile/80081).

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

PR gcov-profile/80081
* Makefile.in: Add gcov-dump and fix installation of gcov-tool.
* doc/gcc.texi: Include gcov-dump stuff.
* doc/gcov-dump.texi: New file.

From-SVN: r246321

7 years agoApply temporary fix for PR rtl-optimization/79150.
Toma Tabacu [Tue, 21 Mar 2017 14:00:19 +0000 (14:00 +0000)]
Apply temporary fix for PR rtl-optimization/79150.

gcc/
PR rtl-optimization/79150
* config/mips/mips.c (mips_block_move_loop): Emit a NOP after the
conditional jump, if the jump is the last insn of the loop.

From-SVN: r246320

7 years agore PR tree-optimization/79908 (ICE in gimplify_expr (gimplify.c:12155) gimplification...
Bill Schmidt [Tue, 21 Mar 2017 13:57:20 +0000 (13:57 +0000)]
re PR tree-optimization/79908 (ICE in gimplify_expr (gimplify.c:12155) gimplification failed)

[gcc]

2017-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
            Richard Biener  <rguenth@suse.com>

PR tree-optimization/79908
* tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
been cast away, use force_gimple_operand to construct the side
effects.

[gcc/testsuite]

2017-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
            Richard Biener  <rguenther@suse.de>

PR tree-optimization/79908
* gcc.dg/torture/pr79908.c: New file.

Co-Authored-By: Richard Biener <rguenth@suse.com>
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r246319

7 years agoFix failing overflow-1.c for avr
Senthil Kumar Selvaraj [Tue, 21 Mar 2017 12:05:09 +0000 (12:05 +0000)]
Fix failing overflow-1.c for avr

The test assumes 32 bit ints, and expects a constant in the
dump that is only valid for 32 bit ints. Fix by explicitly
specifying __UINT32_TYPE__.

gcc/testsuite/

2017-03-21  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/tree-ssa/overflow-1.c: Use __UINT32_TYPE__ for targets
with sizeof(int) < 4.

From-SVN: r246318

7 years agoFix another profiledbootstrap warning (PR libfortran/79956).
Martin Liska [Tue, 21 Mar 2017 12:04:17 +0000 (13:04 +0100)]
Fix another profiledbootstrap warning (PR libfortran/79956).

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

PR libfortran/79956
* simplify-rtx.c (simplify_immed_subreg): Initialize a variable
to NULL.

From-SVN: r246317

7 years agoFix dg-error for a test
Martin Liska [Tue, 21 Mar 2017 12:01:40 +0000 (13:01 +0100)]
Fix dg-error for a test

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

* gcc.target/i386/pr65044.c: Add '.' in order to catch
apostrophes.

From-SVN: r246316

7 years agore PR plugins/80094 (GCC plugin hash table corruption on hash table expansion (>10...
Brad Spengler [Tue, 21 Mar 2017 11:50:18 +0000 (11:50 +0000)]
re PR plugins/80094 (GCC plugin hash table corruption on hash table expansion (>10 plugins) on GCC 4.5+)

2017-03-21  Brad Spengler <spender@grsecurity.net>

PR plugins/80094
* plugin.c (htab_hash_plugin): New function.
(add_new_plugin): Use it and adjust.
(parse_plugin_arg_opt): Adjust.
(init_one_plugin): Likewise.

From-SVN: r246315

7 years agore PR tree-optimization/80032 (C++ excessive stack usage (no stack reuse))
Richard Biener [Tue, 21 Mar 2017 11:43:45 +0000 (11:43 +0000)]
re PR tree-optimization/80032 (C++ excessive stack usage (no stack reuse))

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

PR tree-optimization/80032
* gimplify.c (gimple_push_cleanup): Add force_uncond parameter,
if set force the cleanup to happen unconditionally.
(gimplify_target_expr): Push inserted clobbers with force_uncond
to avoid them being removed by control-dependent DCE.

* g++.dg/opt/pr80032.C: New testcase.

From-SVN: r246314

7 years agore PR tree-optimization/80122 (__builtin_va_arg_pack() and __builtin_va_arg_pack_len...
Richard Biener [Tue, 21 Mar 2017 11:42:22 +0000 (11:42 +0000)]
re PR tree-optimization/80122 (__builtin_va_arg_pack() and __builtin_va_arg_pack_len() does not work correctly)

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

PR tree-optimization/80122
* tree-inline.c (copy_bb): Do not expans va-arg packs or
va_arg_pack_len when the inlined call stmt requires pack
expansion itself.
* tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.

* gcc.dg/torture/pr80122.c: New testcase.

From-SVN: r246313

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