]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
5 years ago/cp
paolo [Fri, 26 Apr 2019 11:46:15 +0000 (11:46 +0000)] 
/cp
2018-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokdeclarator): Fix value assigned to typespec_loc, use
min_location.

/testsuite
2018-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/diagnostic/trailing1.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270597 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
jakub [Fri, 26 Apr 2019 11:13:04 +0000 (11:13 +0000)] 
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270595 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix use of COMPLETE_TYPE_P for -Wstrict-aliasing=1
rsandifo [Fri, 26 Apr 2019 10:33:10 +0000 (10:33 +0000)] 
Fix use of COMPLETE_TYPE_P for -Wstrict-aliasing=1

The handling of -Wstrict-aliasing=1 applied COMPLETE_TYPE_P to the
pointer type rather than the pointer target, so missed the warnings
for "struct incomplete" in the testcase.

I couldn't find any existing C tests for -Wstrict-aliasing=1,
so I added a few extra tests besides the ones fixed by the patch.
I'm sure there's lots more we could test -- this is just supposed
to be better than the status quo (i.e. nothing).

2019-04-26  Richard Sandiford  <richard.sandiford@arm.com>

gcc/c-family/
* c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
the pointer target rather than the pointer itself.

gcc/testsuite/
* gcc.dg/alias-16.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270594 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoAdd commentary to (SET_)TYPE_VECTOR_SUBPARTS
rsandifo [Fri, 26 Apr 2019 09:59:31 +0000 (09:59 +0000)] 
Add commentary to (SET_)TYPE_VECTOR_SUBPARTS

2019-04-26  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* tree.h (TYPE_VECTOR_SUBPARTS, SET_TYPE_VECTOR_SUBPARTS): Add
commentary about the encoding of precision.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270593 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Fri, 26 Apr 2019 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270592 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR libstdc++/90239 use uses_allocator_construction_args in <scoped_allocator>
redi [Thu, 25 Apr 2019 22:43:15 +0000 (22:43 +0000)] 
PR libstdc++/90239 use uses_allocator_construction_args in <scoped_allocator>

PR libstdc++/90239
* doc/xml/manual/status_cxx2020.xml: Amend P0591R4 status.
* include/std/scoped_allocator [__cplusplus > 201703L]
(scoped_allocator_adaptor::construct): Define in terms of
uses_allocator_construction_args, as per P0591R4.
* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: New test.
* testsuite/util/testsuite_allocator.h: Remove name of unused
parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270588 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-25 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Thu, 25 Apr 2019 20:03:35 +0000 (20:03 +0000)] 
2019-04-25  Andreas Tobler  <andreast@gcc.gnu.org>

        * config/i386/freebsd64.h: Add bits for 32-bit multilib support.
        * config/i386/t-freebsd64: New file.
        * config.gcc: Add the t-freebsd64 for multilib support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270586 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * doc/extend.texi (vector_size): Add missing comma after @xref.
uros [Thu, 25 Apr 2019 19:45:26 +0000 (19:45 +0000)] 
* doc/extend.texi (vector_size): Add missing comma after @xref.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270585 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * BASE-VER: Set to 10.0.0.
jakub [Thu, 25 Apr 2019 18:01:17 +0000 (18:01 +0000)] 
* BASE-VER: Set to 10.0.0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270581 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR middle-end/89765
jakub [Thu, 25 Apr 2019 17:58:56 +0000 (17:58 +0000)] 
PR middle-end/89765
* gimplify.c (gimplify_expr): Avoid turning a lvalue
VIEW_CONVERT_EXPR into one operating on an rvalue.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270579 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agox86: Update message for target_clones and unsupported ISAs
hjl [Thu, 25 Apr 2019 17:00:28 +0000 (17:00 +0000)] 
x86: Update message for target_clones and unsupported ISAs

Before AVX512F, processors with the newer ISAs also support the older
ISAs, i.e., AVX2 processors also support AVX and SSE4, SSE4 processors
also support SSSE3, ...   After AVX512F, an AVX512XX processor may not
support AVX512YY.  It means AVX512XX features, except for AVX512F, can't
be used to decide priority in target_clones.

This patch updates error message for ISAs with P_ZERO priority.  It also
merges _feature_list into _isa_names_table and marks ISAs, which have
unknown priority, with P_ZERO so that we only need to update one place
to add a new ISA feature.

gcc/

2019-04-25  H.J. Lu  <hongjiu.lu@intel.com>

PR target/89929
* config/i386/i386.c (feature_priority): Moved to file scope.
(processor_features): Likewise.
(processor_model): Likewise.
(_arch_names_table): Likewise.
(arch_names_table): Likewise.
(_feature_list): Removed.
(feature_list): Likewise.
(_isa_names_table): Moved to file scope.  Add priority.
(isa_names_table): Likewise.
(get_builtin_code_for_version): Replace feature_list with
isa_names_table.  Update error message for P_ZERO priority.

gcc/testsuite/

2019-04-25  Martin Liska  <mliska@suse.cz>
    H.J. Lu  <hongjiu.lu@intel.com>

PR target/89929
* g++.target/i386/mv28.C: New test.
* gcc.target/i386/mvc14.c: Likewise.
* g++.target/i386/pr57362.C: Updated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270578 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Fix segfault in runtime caused by unexpected GC of TLS data.
ibuclaw [Thu, 25 Apr 2019 15:31:35 +0000 (15:31 +0000)] 
libphobos: Fix segfault in runtime caused by unexpected GC of TLS data.

libphobos/ChangeLog:

2019-04-25  Iain Buclaw  <ibuclaw@gdcproject.org>

PR d/90250
* libdruntime/gcc/sections/elf_shared.d (initTLSRanges): Populate
_tlsRanges in every startup thread.
* testsuite/libphobos.thread/thread.exp: Load libphobos-dg.exp.
* testsuite/libphobos.thread/tlsgc_sections.d: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270576 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-25 Richard Biener <rguenther@suse.de>
rguenth [Thu, 25 Apr 2019 14:55:42 +0000 (14:55 +0000)] 
2019-04-25  Richard Biener  <rguenther@suse.de>

* tree-pass.h (make_pass_phi_only_cprop): Remove.
* timevar.def (TV_TREE_PHI_CPROP): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270575 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR tree-optimization/90037
law [Thu, 25 Apr 2019 14:32:16 +0000 (14:32 +0000)] 
PR tree-optimization/90037
* Makefile.in (OBJS): Remove tree-ssa-phionlycprop.c
* passes.def: Replace all instance of phi-only cprop with the
lattice propagator.  Move propagation pass from after erroneous
path isolation to before erroneous path isolation.
* tree-ssa-phionlycprop.c: Remove.

* gcc.dg/tree-ssa/20030710-1.c: Update dump file to scan.
* gcc.dg/isolate-2.c: Likewise.
* gcc.dg/isolate-4.c: Likewise.
* gcc.dg/pr19431.c: Accept either ordering of PHI args.
* gcc.dg/pr90037.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270574 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix typo in m4/druntime/cpu.m4
ro [Thu, 25 Apr 2019 12:39:33 +0000 (12:39 +0000)] 
Fix typo in m4/druntime/cpu.m4

* m4/druntime/cpu.m4 (DRUNTIME_CPU_SOURCES): Quote brackets.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270573 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/44648
jakub [Thu, 25 Apr 2019 12:18:07 +0000 (12:18 +0000)] 
PR c++/44648
* g++.dg/warn/Wunused-var-35.C: Remove xfail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270572 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoD: Do not add target_libs if phobos is disabled
jpfau [Thu, 25 Apr 2019 11:22:27 +0000 (11:22 +0000)] 
D: Do not add target_libs if phobos is disabled

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270571 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-24 Richard Biener <rguenther@suse.de>
rguenth [Thu, 25 Apr 2019 11:17:49 +0000 (11:17 +0000)] 
2019-04-24  Richard Biener  <rguenther@suse.de>

PR middle-end/90213
* gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication
by size and BITS_PER_UNIT on poly-wide-ints.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270570 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-25 Richard Biener <rguenther@suse.de>
rguenth [Thu, 25 Apr 2019 11:15:35 +0000 (11:15 +0000)] 
2019-04-25  Richard Biener  <rguenther@suse.de>

PR middle-end/90194
* match.pd: Add pattern to simplify view-conversion of an
empty constructor.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270569 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoD: Implement GCC emutls in druntime
jpfau [Thu, 25 Apr 2019 11:11:39 +0000 (11:11 +0000)] 
D: Implement GCC emutls in druntime

* libdruntime/Makefile.am: Add emutls and gthread files.
* libdruntime/Makefile.in: Regenerate.
* libdruntime/gcc/emutls.d: New file. Implement GC-compatible emutls.
* libdruntime/gcc/gthread.d: New file.
* libdruntime/gcc/sections/elf_shared.d: Integrate emutls support.
* testsuite/libphobos.allocations/tls_gc_integration.d: New test for
TLS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270568 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Add missing PWD_COMMAND to Makefile.
ibuclaw [Thu, 25 Apr 2019 06:26:57 +0000 (06:26 +0000)] 
libphobos: Add missing PWD_COMMAND to Makefile.

2019-04-25  Iain Buclaw  <ibuclaw@gdcproject.org>

* testsuite/Makefile.am: Set PWD_COMMAND.
* testsuite/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270566 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago compiler: fix glitch when inlining method with empty param/receiver
ian [Thu, 25 Apr 2019 01:13:22 +0000 (01:13 +0000)] 
compiler: fix glitch when inlining method with empty param/receiver

    Fix a problem with Function_declaration::import_function relating to
    how no-name or "sink" parameters are handled. In Gogo::start_function
    (for the non-inline case) when parameter bindings are being added,
    parameters with empty/sink names are renamed to synthesized "r.%d" /
    "p.%d" names so as to avoid collisions. This same handling needs to be
    present when creating the bindings for an inline function that's being
    instantiated after being read from export data.

    Fixes golang/go#31637.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/173538

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270564 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Thu, 25 Apr 2019 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270563 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Fix linker warning and SEGV in core.thread tests.
ibuclaw [Wed, 24 Apr 2019 22:46:59 +0000 (22:46 +0000)] 
libphobos: Fix linker warning and SEGV in core.thread tests.

The monolithic core/threadasm.S source has been removed, and split into
multiple parts, one for each intended target CPU/OS.

Added .type and .size directives for all asm implementations of
fiber_switchContent and callWithStackShell where they were missing.

libphobos/ChangeLog:

2019-04-25  Iain Buclaw  <ibuclaw@gdcproject.org>

PR d/90086
* m4/druntime/cpu.m4 (DRUNTIME_CPU_SOURCES): New macro.
* configure.ac: Use it.
* configure: Regenerate.
* libdruntime/Makefile.am: Add new config sources to
DRUNTIME_SOURCES_CONFIGURED.
* libdruntime/Makefile.in: Regenerate.
* libdruntime/config/aarch64/switchcontext.S: New file.
* libdruntime/config/arm/switchcontext.S: New file.
* libdruntime/config/common/threadasm.S: New file.
* libdruntime/config/mingw/switchcontext.S: New file.
* libdruntime/config/mips/switchcontext.S: New file.
* libdruntime/config/powerpc/switchcontext.S: New file.
* libdruntime/config/powerpc64/callwithstack.S: New file.
* libdruntime/config/x86/switchcontext.S: New file.
* libdruntime/core/threadasm.S: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270560 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoUpdate C++17 library status tables
redi [Wed, 24 Apr 2019 22:16:45 +0000 (22:16 +0000)] 
Update C++17 library status tables

* doc/xml/manual/status_cxx2017.xml: Document P0024R2 status.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270559 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoMake filesystem::path comparison operators hidden friends (LWG 3065)
redi [Wed, 24 Apr 2019 21:35:26 +0000 (21:35 +0000)] 
Make filesystem::path comparison operators hidden friends (LWG 3065)

This change revealed two testsuite bugs where some string comparisons
only compiled by converting the strings to filesystem::path objects.

* include/bits/fs_path.h (operator<, operator<=, operator>)
(operator>=, operator==, operator!=): Make hidden friends, as per
LWG 3065.
* testsuite/27_io/filesystem/path/native/string-char8_t.cc: Fix
string type in test.
* testsuite/27_io/filesystem/path/native/string.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270558 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/90236
mpolacek [Wed, 24 Apr 2019 21:28:04 +0000 (21:28 +0000)] 
PR c++/90236
* g++.dg/cpp1z/nontype-auto16.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270557 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/90227 - error with template parameter packs.
jason [Wed, 24 Apr 2019 20:37:30 +0000 (20:37 +0000)] 
PR c++/90227 - error with template parameter packs.

If require_all_args, we aren't waiting for more args to be deduced later.

* pt.c (coerce_template_parms): Do add empty pack when
require_all_args.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270556 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Fix FAIL phobos.exp/core.time on CentOS 5.11, Linux 2.6.18
ibuclaw [Wed, 24 Apr 2019 18:57:36 +0000 (18:57 +0000)] 
libphobos: Fix FAIL phobos.exp/core.time on CentOS 5.11, Linux 2.6.18

Merges upstream druntime e03164b5.

Reviewed-on: https://github.com/dlang/druntime/pull/2581

libphobos/ChangeLog:

2019-04-24  Iain Buclaw  <ibuclaw@gdcproject.org>

PR d/89432
* testsuite/lib/libphobos.exp (check_effective_target_linux_pre_2639):
New proc.
* testsuite/libphobos.druntime/druntime.exp: Add compiler flag
-fversion=Linux_Pre_2639 if target is linux_pre_2639.
* testsuite/libphobos.druntime_shared/druntime_shared.exp: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270554 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-24 Clement Chigot <clement.chigot@atos.net>
dje [Wed, 24 Apr 2019 18:03:47 +0000 (18:03 +0000)] 
2019-04-24  Clement Chigot  <clement.chigot@atos.net>

        * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Disable
        OPTION_MASK_VSX and OPTION_MASK_ALTIVEC from rs6000_isa_flags
        for Go on 32 bit AIX.
        * config/rs6000/aix72.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270553 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoUse __and_v<...> instead of __and_<...>::value
redi [Wed, 24 Apr 2019 16:25:21 +0000 (16:25 +0000)] 
Use __and_v<...> instead of __and_<...>::value

* include/std/any (any::any(ValueType&&)): Use __and_v.
* include/std/numeric (midpoint(T, T, T), midpoint(T*, T*, T*)):
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270552 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFinish implementing "Treating Unnecessary decay" (P0777R1)
redi [Wed, 24 Apr 2019 16:25:17 +0000 (16:25 +0000)] 
Finish implementing "Treating Unnecessary decay" (P0777R1)

* include/std/tuple (apply): Use remove_reference_t instead of decay_t
as per P0777R1.
* include/std/type_traits (__result_of_memfun): Use remove_reference
instead of __remove_cvref_t and remove redundant is_same check.
(__inv_unwrap): Use __remove_cvref_t instead of decay_t.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270551 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR target/90193
jakub [Wed, 24 Apr 2019 15:49:36 +0000 (15:49 +0000)] 
PR target/90193
* rtl.c (classify_insn): Return JUMP_INSN for asm goto.
* emit-rtl.c (try_split): Copy over REG_LABEL_TARGET.

* gcc.target/i386/pr90193.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270550 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix basic_string_view typedefs and enforce preconditions
redi [Wed, 24 Apr 2019 15:17:53 +0000 (15:17 +0000)] 
Fix basic_string_view typedefs and enforce preconditions

The basic_string_view::pointer and basic_string_view::reference typedefs
are supposed to refer to the non-const value type.

In previous standards having traits_type::char_type different to
value_type was simply undefined, but in the C++2a draft it's ill-formed,
as changed by P1148R0. For std::basic_string and iostreams we might
want to only enforce this conditionally for __cplusplus > 201703L but
for std::basic_string_view we don't have backwards compatibility
concerns. Also add assertions to verify the _CharT argument is a
"char-like" type (non-array, trivial, standard layout type).

Also remove the non-standard basic_string_view::_M_check and
basic_string_view::_M_limit member functions, replacing them with
non-member functions that will still exist even if basic_string_view is
specialized by the program.

* include/experimental/string_view (basic_string_view::pointer)
(basic_string_view::reference): Fix to refer to non-const value_type.
* include/bits/basic_string.h (basic_string): Use __sv_check and
__sv_limit instead of basic_string_view::_M_check and
basic_string_view::_M_limit.
* include/std/string_view (__sv_check, __sv_limit): New
helper functions to replace basic_string_view::_M_check and
basic_string_view::_M_limit.
(basic_string_view): Add static assertions to enforce ill-formed
requirement for traits_type::char_type from P1148R0, and to enforce
required properties of char-like types.
(basic_string_view::pointer, basic_string_view::reference): Fix to
refer to non-const value_type.
(basic_string_view::operator[], basic_string_view::at)
(basic_string_view::front, basic_string_view::back)
(basic_string_view::data): Use const_reference and const_pointer
typedefs for return types.
(basic_string_view::_M_check, basic_string_view::_M_limit): Remove.
(hash<wstring_view>): Fix argument_type typedef.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
char/1.cc: Fix expected return type of basic_string_view::data().
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/requirements/traits_neg.cc:
New test.
* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
Check reference and pointer typedefs.
* testsuite/experimental/string_view/requirements/typedefs.cc:
Likewise.
* testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
Fix expected return type of basic_string_view::data().
* testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
1.cc: Likewise.
* testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
Likewise.
* testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
1.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270548 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR libstdc++/90220 Fix std::any_cast for array types
redi [Wed, 24 Apr 2019 15:17:43 +0000 (15:17 +0000)] 
PR libstdc++/90220 Fix std::any_cast for array types

Although the std::any constructors use decay_t to determine the type of
the contained value, std::any_cast should use the un-decayed type (and
so always fail for function and array types that decay to pointers).

Using remove_cv_t is correct, because the condition for std::any_cast
to return non-null is operand.type() == typeid(T) and typeid ignores
top-level cv-qualifiers.

PR libstdc++/90220
* include/std/any (__any_caster): Use remove_cv_t instead of decay_t.
Avoid a runtime check for types that can never be stored in std::any.
* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
array types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270547 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Skip curl tests if libcurl is not installed on the target.
ibuclaw [Wed, 24 Apr 2019 14:17:34 +0000 (14:17 +0000)] 
libphobos: Skip curl tests if libcurl is not installed on the target.

libphobos/ChangeLog:

2019-04-24  Iain Buclaw  <ibuclaw@gdcproject.org>

PR d/88654
* testsuite/lib/libphobos.exp (libphobos-dg-test): Check
libphobos_skipped_test_p before running test.
(libphobos-dg-prune): New proc.
(libphobos_init): Set libphobos_skip_tests.
(libphobos_skipped_test_p): New proc.
(check_effective_target_libcurl_available): New proc.
* testsuite/libphobos.phobos/phobos.exp: Skip curl tests if library
not found.
* testsuite/libphobos.phobos_shared/phobos_shared.exp: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270545 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoS/390: Fix PR89952 incorrect CFI
krebbel [Wed, 24 Apr 2019 13:40:38 +0000 (13:40 +0000)] 
S/390: Fix PR89952 incorrect CFI

This patch fixes a cases where inconsistent CFI is generated.

After restoring the hard frame pointer (r11) from an FPR we have to
set the CFA register.  In order to be able to set it back to the stack
pointer (r15) we have to make sure that r15 has been restored already.

The patch also adds a scheduler dependency to prevent the instruction
scheduler from swapping the r11 and r15 restore again.

gcc/ChangeLog:

2019-04-24  Andreas Krebbel  <krebbel@linux.ibm.com>

PR target/89952
* config/s390/s390.c (s390_restore_gprs_from_fprs): Restore GPRs
     from FPRs in reverse order.  Generate REG_CFA_DEF_CFA note also
     for restored hard frame pointer.
(s390_sched_dependencies_evaluation): Implement new target hook.
(TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New macro definition.

gcc/testsuite/ChangeLog:

2019-04-24  Andreas Krebbel  <krebbel@linux.ibm.com>

PR target/89952
* gcc.target/s390/pr89952.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270544 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR target/89093
ian [Wed, 24 Apr 2019 12:45:45 +0000 (12:45 +0000)] 
PR target/89093
    runtime: mark unwind functions general-regs-only on ARM

    For https://gcc.gnu.org/PR89093.

    Change-Id: Ic426b43d633c77104bda01d4e7835bc9ab4695ef
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/173657
Reviewed-by: Ian Lance Taylor <iant@golang.org>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270542 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Fix assert in core.sys.posix.sys.stat for aarch64/ilp32.
ibuclaw [Wed, 24 Apr 2019 11:04:22 +0000 (11:04 +0000)] 
libphobos: Fix assert in core.sys.posix.sys.stat for aarch64/ilp32.

Merges upstream druntime 51365217.

Reviewed-on: https://github.com/dlang/druntime/pull/2579

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270541 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[ARC][COMMITTED] Fix typos.
claziss [Wed, 24 Apr 2019 10:15:47 +0000 (10:15 +0000)] 
[ARC][COMMITTED] Fix typos.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-options.def: Fix typos and spelling mistakes.
* config/arc/arc.c (arc_init): Cleanup warning message.
(arc_override_options): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270540 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-24 Richard Biener <rguenther@suse.de>
rguenth [Wed, 24 Apr 2019 10:08:07 +0000 (10:08 +0000)] 
2019-04-24  Richard Biener  <rguenther@suse.de>

cp/
* call.c (null_ptr_cst_p): Order checks according to expensiveness.
(conversion_null_warnings): Likewise.
* typeck.c (same_type_ignoring_top_level_qualifiers_p): Return
early if type1 == type2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270539 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR libstdc++/90220 Fix std::any_cast for function pointers
redi [Wed, 24 Apr 2019 09:46:07 +0000 (09:46 +0000)] 
PR libstdc++/90220 Fix std::any_cast for function pointers

PR libstdc++/90220 (partial)
* include/std/any (any_cast<T>(any*), any_cast<T>(const any*)): Do
not attempt ill-formed static_cast to pointers to non-object types.
* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
function types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270538 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR target/90187
jakub [Wed, 24 Apr 2019 09:27:14 +0000 (09:27 +0000)] 
PR target/90187
* config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into
a register if both if_true and if_false are MEMs.

* g++.target/i386/pr90187.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270537 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agod/dmd: Merge upstream dmd 423758078
ibuclaw [Wed, 24 Apr 2019 09:15:59 +0000 (09:15 +0000)] 
d/dmd: Merge upstream dmd 423758078

Fixes another failing test to pass on BigEndian.

Initial patch by Robin Dapp.

Reviewed-on: https://github.com/dlang/dmd/pull/9684

gcc/testsuite/ChangeLog:

2019-04-24  Iain Buclaw  <ibuclaw@gdcproject.org>

* gdc.test/README.gcc: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270536 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR target/89093
jakub [Wed, 24 Apr 2019 08:16:07 +0000 (08:16 +0000)] 
PR target/89093
* raise-gcc.c (TARGET_ATTRIBUTE): Define.
(continue_unwind, personality_body, PERSONALITY_FUNCTION): Add
TARGET_ATTRIBUTE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270535 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR tree-optimization/90208
jakub [Wed, 24 Apr 2019 08:14:50 +0000 (08:14 +0000)] 
PR tree-optimization/90208
* tree-cfg.c (remove_bb): Move forced labels from removed bbs
after labels of new_bb, not before them.

* gcc.dg/tsan/pr90208-1.c: New test.
* gcc.dg/tsan/pr90208-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270534 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR tree-optimization/90211
jakub [Wed, 24 Apr 2019 08:13:29 +0000 (08:13 +0000)] 
PR tree-optimization/90211
* tree-parloops.c (try_create_reduction_list): Ignore phi arguments
which are not SSA_NAMEs.

* gcc.dg/autopar/pr90211.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270533 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Fix link build errors when compiling with unsupported options
ibuclaw [Wed, 24 Apr 2019 02:04:04 +0000 (02:04 +0000)] 
libphobos: Fix link build errors when compiling with unsupported options

The first compilation test to get baseline warnings was getting more
messages due to a missing object.d file, compared to later configure
tests where libphobos is in the include paths.

Because there must always be an object module during compilation, let
the tests themselves be an empty object module instead.

libphobos/ChangeLog:

2019-04-24  Iain Buclaw  <ibuclaw@gdcproject.org>

PR d/88431
* configure: Regenerate.
* m4/libtool.m4 (lt_simple_compile_test_code): Update to not have
dependencies on libphobos.
(lt_simple_link_test_code): Likewise.
(GDCFLAGS): Don't override for D compiler tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270531 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Wed, 24 Apr 2019 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270530 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoAvoid -Wcatch-value warning in testsuite
redi [Tue, 23 Apr 2019 23:17:52 +0000 (23:17 +0000)] 
Avoid -Wcatch-value warning in testsuite

* testsuite/20_util/variant/run.cc: Catch exception by reference to
prevent -Wcatch-value warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270527 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix whitespace in ChangeLog
redi [Tue, 23 Apr 2019 23:01:35 +0000 (23:01 +0000)] 
Fix whitespace in ChangeLog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270526 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoImplement LWG 2904 for std::variant assignment
redi [Tue, 23 Apr 2019 23:01:12 +0000 (23:01 +0000)] 
Implement LWG 2904 for std::variant assignment

* include/std/variant (__variant_construct): Use template parameter
type instead of equivalent decltype-specifier.
(_Move_ctor_base<false, Types...>::_Move_ctor_base(_Move_ctor_base&&)):
Replace forward with move.
(_Move_ctor_base<false, Types...>::_M_destructive_move)
(_Move_ctor_base<false, Types...>::_M_destructive_copy)
(_Move_ctor_base<true, Types...>::_M_destructive_move)
(_Move_ctor_base<true, Types...>::_M_destructive_copy): Only set the
index after construction succeeds.
(_Copy_assign_base<false, Types...>::operator=): Remove redundant
if-constexpr checks that are always true. Use __remove_cvref_t instead
of remove_reference so that is_nothrow_move_constructible check
doesn't use a const rvalue parameter. In the potentially-throwing case
construct a temporary and move assign it, as per LWG 2904.
(_Move_assign_base<false, Types...>::operator=): Remove redundant
if-constexpr checks that are always true. Use emplace as per LWG 2904.
(variant::operator=(T&&)): Only use emplace conditionally, otherwise
construct a temporary and move assign from it, as per LWG 2904.
* testsuite/20_util/variant/exception_safety.cc: Check that
assignment operators have strong exception safety guarantee.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270525 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Add AArch64 Linux as a supported target.
ibuclaw [Tue, 23 Apr 2019 22:53:35 +0000 (22:53 +0000)] 
libphobos: Add AArch64 Linux as a supported target.

libphobos/ChangeLog:

2019-04-24  Iain Buclaw  <ibuclaw@gdcproject.org>

* configure.tgt: Add aarch64*-*-linux* as a supported target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270524 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Add D support for S/390 Linux
ibuclaw [Tue, 23 Apr 2019 22:53:25 +0000 (22:53 +0000)] 
libphobos: Add D support for S/390 Linux

gcc/d/ChangeLog:

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>
    Robin Dapp  <rdapp@linux.ibm.com>

* typeinfo.cc (create_typeinfo): Write typeinfo flags as uint.

gcc/testsuite/ChangeLog:

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>
    Robin Dapp  <rdapp@linux.ibm.com>

* gdc.dg/link.d: Test if target d_runtime.
* gdc.dg/runnable.d: Fix tests to work on BigEndian.
* gdc.dg/simd.d: Likewise.

libphobos/ChangeLog:

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>
    Robin Dapp  <rdapp@linux.ibm.com>

* configure.tgt: Add s390*-linux* as a supported target.
* libdruntime/gcc/sections/elf_shared.d: import gcc.builtins.
(__tls_get_addr_internal): Declare.
(TLS_DTV_OFFSET): Define as zero on SystemZ.
(getTLSRange): Support getting TLS on SystemZ.
* testsuite/libphobos.typeinfo/struct-align.d: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270523 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Add D support for RISC-V Linux
ibuclaw [Tue, 23 Apr 2019 22:53:12 +0000 (22:53 +0000)] 
libphobos: Add D support for RISC-V Linux

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>

* configure.tgt: Add riscv*-*-linux* as supported target.
* libdruntime/gcc/sections/elf_shared.d (getDependencies): Adjust
dlpi_addr on RISCV32 and RISCV64.
* src/std/math.d: Add IEEE FPU control support for RISCV.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270522 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDocument PSTL linker flags
rodgertq [Tue, 23 Apr 2019 21:03:24 +0000 (21:03 +0000)] 
Document PSTL linker flags

* doc/xml/manual/using.xml: Add PSTL linker flags to table
        3.1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270521 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoUpdate .po files.
jsm28 [Tue, 23 Apr 2019 21:03:01 +0000 (21:03 +0000)] 
Update .po files.

* be.po, da.po, de.po, el.po, fi.po, fr.po, hr.po, id.po, ja.po,
nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
zh_TW.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270520 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agod: Add support for compiling without libphobos library.
ibuclaw [Tue, 23 Apr 2019 20:08:46 +0000 (20:08 +0000)] 
d: Add support for compiling without libphobos library.

Merges upstream dmd 3b3dca8be

Reviewed-on: https://github.com/dlang/dmd/pull/9678

gcc/d/ChangeLog:

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-builtins.cc (d_init_versions): Add D_BetterC, D_ModuleInfo,
D_Exceptions, D_TypeInfo as predefined version conditions.
* d-codegen.cc (build_bounds_condition): Generate trap if D asserts
are turned off.
* d-frontend.cc (getTypeInfoType): Add error when -fno-rtti is set.
* d-lang.cc (d_init_options): Initialize new front-end options.
(d_handle_option): Handle -fdruntime, -fexceptions, and -frtti.
(d_post_options): Turn off D runtime features if -fno-druntime is set.
* d-spec.cc (lang_specific_driver): Handle -fdruntime.
* d-tree.h (have_typeinfo_p): Add prototype.
(build_typeinfo): Update prototype.
* decl.cc (DeclVisitor::visit(StructDeclaration)): Create typeinfo
only if TypeInfo exists.
(DeclVisitor::visit(ClassDeclaration)): Likewise.
(DeclVisitor::visit(InterfaceDeclaration)): Likewise.
(DeclVisitor::visit(EnumDeclaration)): Likewise.
* expr.cc: Update all calls to build_typeinfo.
* gdc.texi (Runtime Options): Document -fdruntime and -frtti.
* lang.opt: Add -fdruntime and -frtti.
* modules.cc (build_module_tree): Create module info only if
ModuleInfo exists.
* toir.cc (IRVisitor::visit(ThrowStatement)): Update test for
-fno-exceptions.
* typeinfo.cc (create_tinfo_types): Build internal typeinfo classes
only if Object exists.
(have_typeinfo_p): New function.
(class TypeInfoVisitor): Update all calls to build_typeinfo.
(build_typeinfo): Add error when -fno-rtti is set.

gcc/testsuite/ChangeLog:

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>

* gdc.test/fail_compilation/fail2456.d: New test.
* gdc.test/fail_compilation/test18312.d: New test.
* gdc.test/gdc-test.exp (gdc-convert-args): Handle -betterC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270518 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[GCC, AARCH64] Add GNU note section with BTI and PAC.
sudi [Tue, 23 Apr 2019 15:51:25 +0000 (15:51 +0000)] 
[GCC, AARCH64] Add GNU note section with BTI and PAC.

This patch adds the GNU NOTE section to the BTI and/or PAC
enabled objects for linux targets.

The patches for needed for these in binutils are already approved
and committed.
https://sourceware.org/ml/binutils/2019-03/msg00072.html

*** gcc/ChangeLog ***

2018-04-23  Sudakshina Das  <sudi.das@arm.com>

* config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define for
AArch64.
(aarch64_file_end_indicate_exec_stack): Add gnu note section.

gcc/testsuite/ChangeLog:

2018-04-23  Sudakshina Das  <sudi.das@arm.com>

* gcc.target/aarch64/bti-1.c: Add scan directive for gnu note section
for linux targets.
* gcc.target/aarch64/va_arg_1.c: Update scan directive to not clash
with GNU note section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270515 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR d/90079
ibuclaw [Tue, 23 Apr 2019 15:19:55 +0000 (15:19 +0000)] 
PR d/90079
libphobos: Fix SEGV in _aaKeys, _aaValues on 32-bit SPARC

Merges upstream druntime b43203a1

Reviewed-on: https://github.com/dlang/druntime/pull/2572

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270514 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * lib/target-supports.exp
law [Tue, 23 Apr 2019 14:39:50 +0000 (14:39 +0000)] 
* lib/target-supports.exp
(check_effective_target_keeps_null_pointer_checks): Add cr16.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270513 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agomodulo-sched: prevent division by zero (PR87979)
zhroma [Tue, 23 Apr 2019 13:14:57 +0000 (13:14 +0000)] 
modulo-sched: prevent division by zero (PR87979)

PR rtl-optimization/87979
* modulo-sched.c (sms_schedule): Start ii value "mii" should
not equal zero.

testsuite:

PR rtl-optimization/87979
* gcc.dg/pr87979.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270512 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agomodulo-sched: fix branch scheduling issue (PR84032)
zhroma [Tue, 23 Apr 2019 12:53:43 +0000 (12:53 +0000)] 
modulo-sched: fix branch scheduling issue (PR84032)

PR rtl-optimization/84032
* modulo-sched.c (ps_insn_find_column): Change condition so that
branch will always be the last insn in a row inside partial
schedule.

testsuite:

PR rtl-optimization/84032
* gcc.dg/pr84032.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270511 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoImplement correct std::variant triviality rules from P0602R4
redi [Tue, 23 Apr 2019 12:48:28 +0000 (12:48 +0000)] 
Implement correct std::variant triviality rules from P0602R4

The std::variant move assignment operator should not be trivial if the
variant is not trivially move constructible.

* include/std/variant (__detail::__variant::_Traits): Make
_S_trivial_copy_assign depend on _S_trivial_copy_ctor and make
_S_trivial_move_assign depend on _S_trivial_move_ctor, as per
P0602R4.
(__detail::__variant::_Copy_assign_alias): Only depend on
_S_trivial_copy_assign, which subsumes _S_trivial_copy_ctor now.
* testsuite/20_util/variant/compile.cc: Correct checks for trivial
move assignment operators.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270510 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR libstdc++/90165 constrain variant(T&&) constructor
redi [Tue, 23 Apr 2019 12:48:18 +0000 (12:48 +0000)] 
PR libstdc++/90165 constrain variant(T&&) constructor

Also refactor some constraints slightly to be more readable.

PR libstdc++/90165
* include/std/variant (variant::__not_self): New helper for the
is_same_v<remove_cvref_t<T>, variant>==false constraints.
(variant::__to_type_impl): Remove.
(variant::__to_type): Add default argument to check pack size, instead
of using __to_type_impl.
(variant::__accepted_type): Add default argument using __not_self.
(variant::__is_in_place_tag, variant::__not_in_place_tag): New helpers
for variant(T&&) constructor constraint.
(variant::variant(T&&)): Use __not_in_place_tag in constraints.
Extract __accepted_type into a named template parameter for reuse in
other constraints and in the exception specification.
(variant::variant(in_place_type_t<T>, Args&&...))
(variant::variant(in_place_type_t<T>, initializer_list<U>, Args&&...))
(variant::variant(in_place_index_t<T>, Args&&...))
(variant::variant(in_place_index_t<T>, initializer_list<U>, Args&&...))
(variant::operator=T&&)): Remove redundant && from trait arguments.
* testsuite/20_util/variant/compile.cc: Check variant(T&&) constructor
isn't used for in_place_type or in_place_index arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270509 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoCorrections for C++2a std::unwrap_reference traits
redi [Tue, 23 Apr 2019 10:27:14 +0000 (10:27 +0000)] 
Corrections for C++2a std::unwrap_reference traits

The P0318R1 paper added to the C++2a draft recently was not the latest
version of the paper, and should have included these changes. These
changes will be made to the working draft via a Defect Report, so I'm
applying them to libstdc++ now.

* include/std/type_traits (unwrap_reference_t): Define for C++2a.
(unwrap_ref_decay): Remove inheritance from unwrap_reference.
* testsuite/20_util/unwrap_reference/1.cc: Adjust test to use alias.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270506 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-23 Richard Biener <rguenther@suse.de>
rguenth [Tue, 23 Apr 2019 10:10:10 +0000 (10:10 +0000)] 
2019-04-23  Richard Biener  <rguenther@suse.de>

PR debug/90131
* tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Add
dest_single_pred_p argument.
(remove_forwarder_block): Adjust.
(remove_forwarder_block_with_phi): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270505 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR target/89093
jakub [Tue, 23 Apr 2019 10:03:41 +0000 (10:03 +0000)] 
PR target/89093
* config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Diagnose
if used with general-regs-only.
(arm_conditional_register_usage): Don't add non-general regs if
general-regs-only.
(arm_valid_target_attribute_rec): Handle general-regs-only.
* config/arm/arm.h (TARGET_HARD_FLOAT): Return false if
general-regs-only.
(TARGET_HARD_FLOAT_SUB): Define.
(TARGET_SOFT_FLOAT): Define as negation of TARGET_HARD_FLOAT_SUB.
(TARGET_REALLY_IWMMXT): Add && !TARGET_GENERAL_REGS_ONLY.
(TARGET_REALLY_IWMMXT2): Likewise.
* config/arm/arm.opt: Add -mgeneral-regs-only.
* doc/extend.texi: Document ARM general-regs-only target.
* doc/invoke.texi: Document ARM -mgeneral-regs-only.
libgcc/
* config/arm/pr-support.c: Add #pragma GCC target("general-regs-only").
* config/arm/unwind-arm.c: Likewise.
* unwind-c.c (PERSONALITY_FUNCTION): Add general-regs-only target
attribute for ARM.
libobjc/
* exception.c (PERSONALITY_FUNCTION): Add general-regs-only target
attribute for ARM.
libphobos/
* libdruntime/gcc/deh.d: Import gcc.attribute.
(personality_fn_attributes): New enum.
(scanLSDA, CONTINUE_UNWINDING, gdc_personality, __gdc_personality):
Add @personality_fn_attributes.
libstdc++-v3/
* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Add
general-regs-only target attribute for ARM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270504 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix whitespace in ChangeLog
redi [Tue, 23 Apr 2019 09:55:36 +0000 (09:55 +0000)] 
Fix whitespace in ChangeLog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270503 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix std::variant regression caused by never-valueless optimization
redi [Tue, 23 Apr 2019 09:55:33 +0000 (09:55 +0000)] 
Fix std::variant regression caused by never-valueless optimization

A regression was introduced by the recent changes to provide the strong
exception safety guarantee for "never valueless" types that have O(1),
non-throwing move assignment. The problematic code is:

  else if constexpr (__detail::__variant::_Never_valueless_alt<type>())
    {
      // This construction might throw:
      variant __tmp(in_place_index<_Np>, __il,
                    std::forward<_Args>(__args)...);
      // But _Never_valueless_alt<type> means this won't:
      *this = std::move(__tmp);
    }

When the variant is not assignable, the assignment is ill-formed, so
should not be attempted. When the variant has a copy assignment operator
but not a move assignment operator, the assignment performs a copy
assignment and that could throw, so should not be attempted.

The solution is to only take that branch when the variant has a move
assignment operator, which is determined by the _Traits::_S_move_assign
constant. When that is false the strong exception safety guarantee is
not possible, and so the __never_valueless function should also depend
on _S_move_assign.

While testing the fixes for this I noticed that the partial
specialization _Never_valueless_alt<basic_string<C,T,A>> incorrectly
assumed that is_nothrow_move_constructible<basic_string<C,T,A>> is
always true, but that's wrong for fully-dynamic COW strings. Fix the
partial specialization, and improve the comment describing
_Never_valueless_alt to be clear it depends on move construction as well
as move assignment.

Finally, I also observed that _Variant_storage<false, T...>::_M_valid()
was not taking advantage of the __never_valueless<T...>() function to
avoid a runtime check. Only the _Variant_storage<true, T...>::_M_valid()
function was using __never_valueless. That is also fixed.

PR libstdc++/87431
* include/bits/basic_string.h (_Never_valueless_alt): Make partial
specialization also depend on is_nothrow_move_constructible.
* include/std/variant (__detail::__variant::__never_valueless()):
Only true if the variant would have a move assignment operator.
(__detail::__variant::_Variant_storage<false, T...>::_M_valid()):
Check __never_valueless<T...>().
(variant::emplace): Only perform non-throwing move assignments
for never-valueless alternatives if the variant has a move assignment
operator.
* testsuite/20_util/variant/compile.cc: Check that never-valueless
types can be emplaced into non-assignable variants.
* testsuite/20_util/variant/run.cc: Check that never-valueless types
don't get copied when emplaced into non-assignable variants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270502 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoMake some std::variant helper functions noexcept
redi [Tue, 23 Apr 2019 09:55:28 +0000 (09:55 +0000)] 
Make some std::variant helper functions noexcept

* include/std/variant (__detail::__variant::__ref_cast): Remove
unused function.
(__detail::__variant::_Uninitialized::_M_get)
(__detail::__variant::__get)
(__gen_vtable_impl::__element_by_index_or_cookie): Add noexcept.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270501 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR tree-optimization/90078
amker [Tue, 23 Apr 2019 04:07:46 +0000 (04:07 +0000)] 
PR tree-optimization/90078
* tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
checks for infinite_cost overflow.

gcc/testsuite
* gcc/testsuite/g++.dg/tree-ssa/pr90078.C: New test.

Also fix typo in ChangeLog entry for revision 270499.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270500 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR tree-optimization/92001
amker [Tue, 23 Apr 2019 03:54:59 +0000 (03:54 +0000)] 
PR tree-optimization/92001
* tree-chrec.c (evolution_function_is_univariate_p): New parameter
and check univariate against it.
* tree-chrec.h (evolution_function_is_univariate_p): New parameter.
* tree-data-ref.c (add_other_self_distances): Pass new argument.

gcc/testsuite
* gcc/testsuite/gfortran.dg/pr90021.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270499 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Tue, 23 Apr 2019 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270498 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-19 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Mon, 22 Apr 2019 21:00:40 +0000 (21:00 +0000)] 
2019-04-19  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/90166
* decl.c (in_module_or_interface): New function to check that the
current state is in a module, submodule, or interface.
(gfc_match_prefix): Use it.

2019-04-19  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/90166
* gfortran.dg/submodule_22.f08: Add additional dg-error comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270495 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/87366 - wrong error with alias template.
jason [Mon, 22 Apr 2019 19:16:46 +0000 (19:16 +0000)] 
PR c++/87366 - wrong error with alias template.

With this testcase the code in template_args_equal to treat aliases as
distinct wasn't sufficient, because it only looked at the top level, whereas
here we have a reference to the alias.  So let's also handle treating them
as distinct in structural_comptypes.  For GCC 10 I have a more comprehensive
patch, but for GCC 9 let's go with this smaller change.

* typeck.c (structural_comptypes): When comparing_specializations,
aliases are unequal.
(comptypes): When comparing_specializations, do structural
comparison.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270494 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoAdd myself to MAINTAINERS
zhroma [Mon, 22 Apr 2019 16:05:36 +0000 (16:05 +0000)] 
Add myself to MAINTAINERS

2019-04-22  Roman Zhuykov  <zhroma@ispras.ru>

* MAINTAINERS (Various Maintainers): Remove Ayal Zaks and add myself
as modulo-scheduler maintainer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270492 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Merge upstream phobos b538f758a
ibuclaw [Mon, 22 Apr 2019 13:46:25 +0000 (13:46 +0000)] 
libphobos: Merge upstream phobos b538f758a

Fixes endian bugs in std.uni, and corrects unit-tests that failed on
version(BigEndian) targets.

Initial patch by Robin Dapp.

Reviewed-on: https://github.com/dlang/phobos/pull/6975

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270491 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Merge upstream druntime 109f0f2e
ibuclaw [Mon, 22 Apr 2019 13:46:13 +0000 (13:46 +0000)] 
libphobos: Merge upstream druntime 109f0f2e

Backports more extern(C) bindings and platform ports.

Reviewed-on: https://github.com/dlang/druntime/pull/2569

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270490 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-22 Paul Thomas <pault@gcc.gnu.org>
pault [Mon, 22 Apr 2019 06:50:33 +0000 (06:50 +0000)] 
2019-04-22  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/57284
* resolve.c (find_array_spec): If this is a class expression
and the symbol and component array specs are the same, this is
not an error.
*trans-intrinsic.c (gfc_conv_intrinsic_size): If a class symbol
argument, has no namespace, it has come from the interface
mapping and the _data component must be accessed directly.

2019-04-22  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/57284
* gfortran.dg/class_70.f03

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270489 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Mon, 22 Apr 2019 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270488 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR d/90130
ibuclaw [Sun, 21 Apr 2019 20:26:12 +0000 (20:26 +0000)] 
PR d/90130
d/dmd: Merge upstream dmd 065fbd452

Fixes endian bug in CTFE, and corrects tests in the D2 testsuite that
failed on big endian targets.

Initial patch by Robin Dapp.

Reviewed-on: https://github.com/dlang/dmd/pull/9665

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270485 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoLRA: Revert "Remove useless move insns"
hjl [Sun, 21 Apr 2019 18:23:00 +0000 (18:23 +0000)] 
LRA: Revert "Remove useless move insns"

Useless move insn removal was added to LRA just to avoid wasting CPU
cycles on such insn processing afterwards.  Such insns are removed
anyway later in the pass pipeline.  The CPU time savings are tiny but
the removal creates too many problems including PR target/90178.
Vladimir pre-approved the patch to remove the code:

https://gcc.gnu.org/ml/gcc-patches/2019-04/msg00834.html

gcc/

PR target/90178
Revert:
2018-11-21  Uros Bizjak  <ubizjak@gmail.com>

Revert the revert:
2013-10-26  Vladimir Makarov  <vmakarov@redhat.com>

Revert:
2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>

* lra-spills.c (lra_final_code_change): Remove useless move insns.

gcc/testsuite/

PR target/90178
* gcc.target/i386/pr90178.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270484 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR d/90064
ibuclaw [Sun, 21 Apr 2019 10:21:07 +0000 (10:21 +0000)] 
PR d/90064
libphobos: Merge upstream phobos 428460ddd

Defines growDownwards on SPARC64, initial patch by Rainer Orth.

Backports another fix to std.process, allowing permissions tests to be
skipped when running as root.

Reviewed-on: https://github.com/dlang/phobos/pull/6962

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270483 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: Merge upstream druntime 4b2674b3
ibuclaw [Sun, 21 Apr 2019 10:02:02 +0000 (10:02 +0000)] 
libphobos: Merge upstream druntime 4b2674b3

Adds version (BacktraceExternal) for using libexecinfo instead of
internal implementation on FreeBSD, NetBSD, and DragonFly.

Reviewed-on: https://github.com/dlang/druntime/pull/2560

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270482 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoMAINTAINERS - add iains as darwin co-maintainer.
iains [Sun, 21 Apr 2019 08:33:19 +0000 (08:33 +0000)] 
MAINTAINERS - add iains as darwin co-maintainer.

2019-04-21  Iain Sandoe  <iain@sandoe.co.uk>

* MAINTAINERS: Add myself as co-maintainer for Darwin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270481 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix test fails on powerpc-darwin.
iains [Sun, 21 Apr 2019 08:25:44 +0000 (08:25 +0000)] 
Fix test fails on powerpc-darwin.

The current implementation of “speculation_barrier”
and “group_end_nop” insns emit hard-wired register
names which causes tests using them to fail on Darwin,
at least, which uses “rNN” instead of “NN”.

The patch makes the register names for these insns use
the operand output mechanism to substitute the
appropriate variant when needed.

gcc/

2019-04-21  Iain Sandoe  <iain@sandoe.co.uk>

* config/rs6000/rs6000.md (group_end_nop): Emit insn register
names using operand format, rather than hard-wired.
(speculation_barrier): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270480 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibstdc++-v3 Skip tests on Darwin8-10.
iains [Sun, 21 Apr 2019 08:14:47 +0000 (08:14 +0000)] 
libstdc++-v3 Skip tests on Darwin8-10.

These earlier Darwin versions have “FP_≈” inside a
comment in architecture/{ppc,i386}/math.h, which is
included by math.h which causes the tests to fail.

The intent of the tests (i.e. to ensure that the
library itself does not emit non-ascii) is covered
by other platforms, including later Darwin editions.

2019-04-21  Iain Sandoe  <iain@sandoe.co.uk>

* testsuite/17_intro/headers/c++1998/charset.cc: Skip for Darwin8
to Darwin10.
* testsuite/17_intro/headers/c++2011/charset.cc: Likewise.
* testsuite/17_intro/headers/c++2014/charset.cc: Likewise.
* testsuite/17_intro/headers/c++2017/charset.cc: Likewise.
* testsuite/17_intro/headers/c++2020/charset.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270479 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agod: Use semanticRun to prevent declaration pass from running multiple times.
ibuclaw [Sun, 21 Apr 2019 07:03:32 +0000 (07:03 +0000)] 
d: Use semanticRun to prevent declaration pass from running multiple times.

This shouldn't happen during normal traversal of the AST provided from
the front-end, however as there are some cases where declarations need
to be visited out of order, such as what is being done in PR d/89017, it
then becomes necessary to guard against this.

gcc/d/ChangeLog:

2019-04-21  Iain Buclaw  <ibuclaw@gdcproject.org>

* decl.cc (DeclVisitor::visit(Import)): Set semanticRun after
completion, guard against being called more than once.
(DeclVisitor::visit(StructDeclaration)): Likewise.
(DeclVisitor::visit(ClassDeclaration)): Likewise.
(DeclVisitor::visit(InterfaceDeclaration)): Likewise.
(DeclVisitor::visit(VarDeclaration)): Likewise.
(DeclVisitor::visit(TypeInfoDeclaration)): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270478 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agod: Ensure all unittests are registered against the original module.
ibuclaw [Sun, 21 Apr 2019 07:03:22 +0000 (07:03 +0000)] 
d: Ensure all unittests are registered against the original module.

As any unittest functions registered against the testing module when
compiling with -fbuilding-libphobos-tests are ignored during the
generation of the ModuleInfo data.

gcc/d/ChangeLog:

2019-04-21  Iain Buclaw  <ibuclaw@gdcproject.org>

* modules.cc (register_module_decl): Don't register unittests against
the ModuleInfo symbol for -fbuilding-libphobos-tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270477 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-04-20 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 21 Apr 2019 02:01:36 +0000 (02:01 +0000)] 
2019-04-20  Sandra Loosemore  <sandra@codesourcery.com>

gcc/testsuite/
* g++.dg/ipa/pr89009.C: Add dg-require-effective-target fpic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270476 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Sun, 21 Apr 2019 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270475 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDelegate PSTL configuration to pstl/pstl_config.h
rodgertq [Sat, 20 Apr 2019 23:20:03 +0000 (23:20 +0000)] 
Delegate PSTL configuration to pstl/pstl_config.h

 * include/bits/c++config: Remove explicit PSTL configuration
 macros and use definitions from <pstl/pstl_config.h>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270472 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoCleanup algorithm implementations
rodgertq [Sat, 20 Apr 2019 22:45:58 +0000 (22:45 +0000)] 
Cleanup algorithm implementations

* include/pstl/glue_algorithm_impl.h (stable_sort): Forward
        execution policy.
(mismatch): Forward execution policy.
(equal): Qualify call to std::equal().
(partial_sort): Forward execution policy.
(inplace_merge): Forward execution policy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270471 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agolibphobos: core.atomic should have fallback when there's no libatomic.
ibuclaw [Sat, 20 Apr 2019 17:14:50 +0000 (17:14 +0000)] 
libphobos: core.atomic should have fallback when there's no libatomic.

libphobos/ChangeLog:

2019-04-20  Iain Buclaw  <ibuclaw@gdcproject.org>

PR d/89293
* libdruntime/core/atomic.d (casImpl): Remove static assert for
GNU_Have_Atomics, add static path to handle missing atomic support.
(atomicLoad): Likewise.
(atomicStore): Likewise.
(atomicFence):  Likewise.
(atomicMutexHandle, AtomicMutex): Declare types.
(_getAtomicMutex): New function.
(getAtomicMutex): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270470 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/90190 - CTAD with list-constructor.
jason [Sat, 20 Apr 2019 06:18:39 +0000 (06:18 +0000)] 
PR c++/90190 - CTAD with list-constructor.

The passage quoted talks about an initializer list containing a single
expression, but a braced-init-list is not an expression.

* pt.c (do_class_deduction): Don't try the single element deduction
if the single element is also a braced list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270468 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/90171 - ICE with destroying delete with size_t parm.
jason [Sat, 20 Apr 2019 06:18:30 +0000 (06:18 +0000)] 
PR c++/90171 - ICE with destroying delete with size_t parm.

The problem here was that "second parm is size_t" is false for a destroying
sized delete.  So let's introduce sized_deallocation_fn_p when that's what
we're asking, and reserve second_parm_is_size_t for the specific case of
warning about possible confusion with placement delete.

* call.c (sized_deallocation_fn_p): New.  Use it instead of
second_parm_is_size_t in most cases.
(second_parm_is_size_t): Don't check for aligned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270467 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Sat, 20 Apr 2019 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270466 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoImprove implementation of parallel equal()
rodgertq [Fri, 19 Apr 2019 22:44:11 +0000 (22:44 +0000)] 
Improve implementation of parallel equal()

* include/pstl/algorithm_impl.h
(__internal::__brick_equal): use "4 iterator" version of
std::equal().
(__internal::__brick_equal): use simd for random access
iterators on unsequenced execution policies.
(__internal::__pattern_equal): add "4 iterator" version
(__internal::__pattern_equal): dispatch to simd __brick_equal
for vector-only execution policies.
(__internal::__pattern_equal): dispatch to __parallel_or for
parallel execution policies.
* include/pstl/glue_algorithm_impl.h
(std::equal): dispatch to "4 iterator" version of
__internal::__pattern_equal().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270463 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * de.po, es.po, fr.po, sv.po: Update.
jakub [Fri, 19 Apr 2019 19:19:51 +0000 (19:19 +0000)] 
* de.po, es.po, fr.po, sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@270462 138bc75d-0d04-0410-961f-82ee72b054a4