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
Marek Polacek [Tue, 21 Mar 2017 07:50:14 +0000 (07:50 +0000)]
Fix CL.
From-SVN: r246304
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
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
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
GCC Administrator [Tue, 21 Mar 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246300
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
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
Joseph Myers [Mon, 20 Mar 2017 22:17:50 +0000 (22:17 +0000)]
* de.po, fr.po: Update.
From-SVN: r246295
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 20 Mar 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246271
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
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
GCC Administrator [Sun, 19 Mar 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246264
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
Gerald Pfeifer [Sat, 18 Mar 2017 21:14:06 +0000 (21:14 +0000)]
* doc/contrib.texi (Contributors): Add Segher Boessenkool.
From-SVN: r246260
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
Gerald Pfeifer [Sat, 18 Mar 2017 18:22:06 +0000 (18:22 +0000)]
* config.guess: Import latest from upstream.
From-SVN: r246258
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
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
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
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
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
GCC Administrator [Sat, 18 Mar 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246252
Marek Polacek [Fri, 17 Mar 2017 21:50:16 +0000 (21:50 +0000)]
* c-parser.c: Add C11 references.
From-SVN: r246249
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 17 Mar 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246216
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
Jason Merrill [Thu, 16 Mar 2017 21:16:45 +0000 (17:16 -0400)]
* decl.c (start_enum): std::byte aliases anything.
From-SVN: r246212
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 16 Mar 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246185
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
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
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
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
Joseph Myers [Wed, 15 Mar 2017 21:07:52 +0000 (21:07 +0000)]
* de.po: Update.
From-SVN: r246177
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
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
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
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
Jonathan Wakely [Wed, 15 Mar 2017 15:23:44 +0000 (15:23 +0000)]
Fix typo in config.h.in comment
* acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in
comment.
* config.h.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
From-SVN: r246165
NightStrike [Wed, 15 Mar 2017 13:46:35 +0000 (13:46 +0000)]
Don't use Win32 functions on CYGWIN.
This was a workaround for a cygwin bug which was fixed 4 years ago,
and cygwin hasn't supported affected versions for a long time.
2017-03-15 NightStrike <nightstrike@gmail.com>
Janne Blomqvist <jb@gcc.gnu.org>
* intrinsics/random.c (getosrandom): Remove check for __CYGWIN__
preprocessor flag.
* intrinsics/system_clock.c: Likewise.
(system_clock_4): Likewise.
(system_clock_8): Likewise.
* intrinsics/time_1.h: Don't include windows.h if __CYGWIN__ is
defined.
Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>
From-SVN: r246162
Uros Bizjak [Wed, 15 Mar 2017 13:38:51 +0000 (14:38 +0100)]
re PR target/80019 (ICE in ix86_vector_duplicate_value, at config/i386/i386.c:42584)
PR target/80019
* config/i386/i386.c (ix86_vector_duplicate_value): Create
subreg of inner mode for values already in registers.
testsuite/ChangeLog:
PR target/80019
* gcc.target/i386/pr80019.c: New test.
From-SVN: r246161
Bernd Schmidt [Wed, 15 Mar 2017 13:36:50 +0000 (13:36 +0000)]
c6x.c (hwloop_optimize): Handle case where the old iteration reg is used after the loop.
* config/c6x/c6x.c (hwloop_optimize): Handle case where the old
iteration reg is used after the loop.
From-SVN: r246160