]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
5 years ago * d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
law [Tue, 30 Apr 2019 14:34:52 +0000 (14:34 +0000)] 
* d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
    * testsuite/d-demangle-expected: Add testcase.

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

5 years ago * d-demangle.c (dlang_parse_integer): Fix stack underflow.
law [Tue, 30 Apr 2019 14:32:38 +0000 (14:32 +0000)] 
 * d-demangle.c (dlang_parse_integer): Fix stack underflow.
     * testsuite/d-demangle-expected: Add testcase.

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

5 years ago * cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
law [Tue, 30 Apr 2019 14:22:41 +0000 (14:22 +0000)] 
* cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
    * testsuite/demangle-expected: Add testcase.

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

5 years ago * cp-demangle.c (d_encoding): Guard against NULL return values from
law [Tue, 30 Apr 2019 14:20:11 +0000 (14:20 +0000)] 
 * cp-demangle.c (d_encoding): Guard against NULL return values from
     d_right (dc).
     * testsuite/demangle-expected: Add testcase.

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

5 years agoAdd option suggestion for -Werror=foo and corresponding pragma.
marxin [Tue, 30 Apr 2019 13:50:24 +0000 (13:50 +0000)] 
Add option suggestion for -Werror=foo and corresponding pragma.

2019-04-30  Martin Liska  <mliska@suse.cz>

* opts.c (enable_warning_as_error): Provide hints
for unknown options.
2019-04-30  Martin Liska  <mliska@suse.cz>

* c-pragma.c (handle_pragma_diagnostic): Provide hints
for unknown options.
2019-04-30  Martin Liska  <mliska@suse.cz>

* gcc.dg/Werror-13.c: Add new tests for it.
* gcc.dg/pragma-diag-6.c: Likewise.

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

5 years agoAdd missing dash for 2 options in documentation (PR debug/90288).
marxin [Tue, 30 Apr 2019 13:31:22 +0000 (13:31 +0000)] 
Add missing dash for 2 options in documentation (PR debug/90288).

2019-04-30  Martin Liska  <mliska@suse.cz>

PR debug/90288
* doc/invoke.texi: Add missing dash for gas-locview-support
and gno-as-locview-support.

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

5 years agoRemove unintended part of r270680 commit.
jakub [Tue, 30 Apr 2019 12:11:18 +0000 (12:11 +0000)] 
Remove unintended part of r270680 commit.

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

5 years ago PR target/89093
jakub [Tue, 30 Apr 2019 12:07:27 +0000 (12:07 +0000)] 
PR target/89093
* config/aarch64/aarch64.c (aarch64_process_one_target_attr): Don't skip
whitespace at the start of target attribute string.

* gcc.target/aarch64/pr89093.c: New test.
* gcc.target/aarch64/pr63304_1.c: Remove space from target string.

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

5 years ago * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Change _Lock_policyE2 exports
jakub [Tue, 30 Apr 2019 11:40:28 +0000 (11:40 +0000)] 
* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Change _Lock_policyE2 exports
to _Lock_policyE[012].
* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.

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

5 years ago[Patch AArch64] Add __ARM_FEATURE_ATOMICS
ramana [Tue, 30 Apr 2019 11:22:11 +0000 (11:22 +0000)] 
[Patch AArch64] Add __ARM_FEATURE_ATOMICS

This keeps coming up repeatedly and the ACLE has finally added
__ARM_FEATURE_ATOMICS for the LSE feature in GCC. This is now part of
the latest ACLE release
(https://developer.arm.com/docs/101028/latest/5-feature-test-macros)

I know it's late for GCC-9 but this is a simple macro which need not
wait  for another year.

Ok for trunk and to backport to all release branches ?

Tested with a simple build and a smoke test.

PR target/86538
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
__ARM_FEATURE_ATOMICS

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

5 years agoFix filesystem::path tests
redi [Tue, 30 Apr 2019 10:39:59 +0000 (10:39 +0000)] 
Fix filesystem::path tests

The root_path.cc test had some debugging macros left in accidentally, so
didn't FAIL correctly if an assertion failed.

The string-char8_t.cc tests didn't compile on Windows.

* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
macros accidentally left in.
* testsuite/27_io/filesystem/path/native/string-char8_t.cc: Remove
unnecessary -lstdc++fs option. Fix test for mingw.
* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
Fix test for mingw.

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

5 years agoRefactor gimple_fold_builtin_memory_op function.
marxin [Tue, 30 Apr 2019 09:19:41 +0000 (09:19 +0000)] 
Refactor gimple_fold_builtin_memory_op function.

2019-04-30  Martin Liska  <mliska@suse.cz>

* gimple-fold.c (gimple_fold_builtin_memory_op): Change endp
into built_in_function enum. Remove code for endp == 2 and
use BUILT_IN_* constants.
(gimple_fold_builtin): Call the function with fcode.

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

5 years agoFix -Wenum-compare-switch warning in i386.c.
marxin [Tue, 30 Apr 2019 09:16:36 +0000 (09:16 +0000)] 
Fix -Wenum-compare-switch warning in i386.c.

2019-04-30  Martin Liska  <mliska@suse.cz>

* config/i386/i386.c (ix86_builtin_reciprocal): Cast
DECL_FUNCTION_CODE into ix86_builtins enum before
the switch statement.

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

5 years ago PR tree-optimization/89475
jakub [Tue, 30 Apr 2019 09:07:28 +0000 (09:07 +0000)] 
PR tree-optimization/89475
* tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_BSWAP{16,32,64}
calls.

* gcc.dg/tree-ssa/pr89475.c: New test.

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

5 years ago * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
jakub [Tue, 30 Apr 2019 08:55:12 +0000 (08:55 +0000)] 
* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.

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

5 years agoWrap a string with _ for translation (PR translation/90274).
marxin [Tue, 30 Apr 2019 08:33:29 +0000 (08:33 +0000)] 
Wrap a string with _ for translation (PR translation/90274).

2019-04-30  Martin Liska  <mliska@suse.cz>

PR translation/90274
* opts.c (print_filtered_help): Wrap string in _(...).

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

5 years ago PR tree-optimization/90240
amker [Tue, 30 Apr 2019 03:00:59 +0000 (03:00 +0000)] 
PR tree-optimization/90240
Revert:
2019-04-23  Bin Cheng  <bin.cheng@linux.alibaba.com>

PR tree-optimization/90078
* tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
checks for infinite_cost overflow.

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

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

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

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

5 years ago * sv.po: Update.
jsm28 [Mon, 29 Apr 2019 22:45:23 +0000 (22:45 +0000)] 
* sv.po: Update.

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

5 years ago * gcc.pot: Regenerate.
jsm28 [Mon, 29 Apr 2019 22:27:52 +0000 (22:27 +0000)] 
* gcc.pot: Regenerate.

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

5 years ago * cp-demangle.c (d_expression_1): Don't peek ahead unless the current
law [Mon, 29 Apr 2019 22:19:01 +0000 (22:19 +0000)] 
* cp-demangle.c (d_expression_1): Don't peek ahead unless the current
char is valid.
* testsuite/demangle-expected: Add testcase.

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

5 years ago * passes.def: Move -Wrestrict pass after copy propagation.
law [Mon, 29 Apr 2019 20:21:57 +0000 (20:21 +0000)] 
* passes.def: Move -Wrestrict pass after copy propagation.

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

5 years ago * config.gcc (default_gnu_indirect_function): Default to yes
law [Mon, 29 Apr 2019 19:48:52 +0000 (19:48 +0000)] 
* config.gcc (default_gnu_indirect_function): Default to yes
for arm*-*-netbsd*, i[34567]86-*-netbsd*, powerpc*-*-netbsd*,
sparc*-*-netbsd*, x86_64-*-netbsd*

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

5 years ago * tree-ssa-uninit.c (is_pred_expr_subset_of): Correctly handle cases
law [Mon, 29 Apr 2019 19:47:17 +0000 (19:47 +0000)] 
* tree-ssa-uninit.c (is_pred_expr_subset_of): Correctly handle cases
where cond2 is NE_EXPR.
(is_value_included_in): Update comment.

        * gcc.dg/uninit-25-gimple.c: New test.
        * gcc.dg/uninit-25.c: New test.
        * gcc.dg/uninit-26.c: New test.
        * gcc.dg/uninit-27-gimple.c: New test.

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

5 years ago2019-04-29 Michael K. Darling <darlingm@gmail.com>
law [Mon, 29 Apr 2019 19:31:24 +0000 (19:31 +0000)] 
2019-04-29  Michael K. Darling  <darlingm@gmail.com>

        * gnatvsn.ads: Bump Library_Version to 10.

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

5 years ago compiler: avoid crash on real declaration of type with existing method
ian [Mon, 29 Apr 2019 18:56:24 +0000 (18:56 +0000)] 
compiler: avoid crash on real declaration of type with existing method

    This avoids a compiler crash on invalid code.

    Fixes https://gcc.gnu.org/PR90272

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

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

5 years ago2019-04-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Apr 2019 17:53:36 +0000 (17:53 +0000)] 
2019-04-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/90278
* tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean
EH on comparison simplification.

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

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

5 years ago PR c++/82081 - tail call optimization breaks noexcept
jason [Mon, 29 Apr 2019 17:27:13 +0000 (17:27 +0000)] 
PR c++/82081 - tail call optimization breaks noexcept

If a noexcept function calls a function that might throw, doing the tail
call optimization means that an exception thrown in the called function
will propagate out, breaking the noexcept specification.  So we need to
prevent the optimization in that case.

* tree-tailcall.c (find_tail_calls): Don't turn a call from a
nothrow function to a might-throw function into a tail call.

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

5 years ago[C++ PATCH] some cleanups
nathan [Mon, 29 Apr 2019 15:22:41 +0000 (15:22 +0000)] 
[C++ PATCH] some cleanups

https://gcc.gnu.org/ml/gcc-patches/2019-04/msg01174.html
* decl.c (duplicate_decls): Add whitespace, move comments into
conditional blocks.
* method.c (explain_implicit_non_constexpr): Refactor.
* pt.c (check_explicit_specialization): Fix indentation.
* semantics.c (process_outer_var_ref): Reformat.
(finish_id_expression_1): Use STRIP_TEMPLATE.

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

5 years agoRemove DDR_INNER_LOOP
rsandifo [Mon, 29 Apr 2019 15:17:01 +0000 (15:17 +0000)] 
Remove DDR_INNER_LOOP

...since it was only ever zero in practice.  I wondered about making
it a symbolic constant instead, but it didn't seem worth it when
there was only one user (and that user was part of the internal
tree-data-ref.c implementation).

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

gcc/
* tree-data-ref.h (data_dependence_relation::inner_loop): Delete.
(DDR_INNER_LOOP): Likewise.
* tree-data-ref.c (dump_data_dependence_relation): Update accordingly.
(initialize_data_dependence_relation): Likewise.
(insert_innermost_unit_dist_vector): Use 0 instead of DDR_INNER_LOOP.

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

5 years ago PR rtl-optimization/90257
jakub [Mon, 29 Apr 2019 14:18:55 +0000 (14:18 +0000)] 
PR rtl-optimization/90257
* cfgrtl.c (flow_active_insn_p): Return true for USE of a function
return value.

Revert the revert:
2019-04-21  H.J. Lu  <hongjiu.lu@intel.com>

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.

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

5 years ago2019-04-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Apr 2019 13:54:58 +0000 (13:54 +0000)] 
2019-04-29  Richard Biener  <rguenther@suse.de>

* tree-ssa.c (insert_debug_temp_for_var_def): For {CLOBBER}
rhs issue a reset.

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

5 years agoAdjust doxygen comment for std::generate_n
redi [Mon, 29 Apr 2019 13:31:50 +0000 (13:31 +0000)] 
Adjust doxygen comment for std::generate_n

* include/bits/stl_algo.h (generate_n): Adjust doxygen comment.

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

5 years agoUse _GLIBCXX_NOEXCEPT_IF for std::swap
redi [Mon, 29 Apr 2019 13:25:38 +0000 (13:25 +0000)] 
Use _GLIBCXX_NOEXCEPT_IF for std::swap

* include/bits/move.h (swap(T&, T&), swap(T (&)[N], T (&)[N])): Use
_GLIBCXX_NOEXCEPT_IF to simplify declarations.

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

5 years agoPR libstdc++/71312 Increase alignment of pooled mutexes
redi [Mon, 29 Apr 2019 12:55:29 +0000 (12:55 +0000)] 
PR libstdc++/71312 Increase alignment of pooled mutexes

PR libstdc++/71312
* src/c++11/shared_ptr.cc (get_mutex): Align pool mutexes to 64 bytes.

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

5 years agoAdd nodiscard to std::vector<bool>::empty()
redi [Mon, 29 Apr 2019 12:35:24 +0000 (12:35 +0000)] 
Add nodiscard to std::vector<bool>::empty()

We already added it to the std::vector primary template.

* include/bits/stl_bvector.h (vector<bool>::empty()): Add nodiscard
attribute.

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

5 years agoRemove unused std::_Iter_base class template
redi [Mon, 29 Apr 2019 12:12:46 +0000 (12:12 +0000)] 
Remove unused std::_Iter_base class template

This class template has been unused since __gnu_debug::__base was
removed in r263786.

* include/bits/stl_iterator_base_types.h (_Iter_base): Remove unused
class template and partial specialization.

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

5 years agoPR libstdc++/87982 Fix generate_n and fill_n use of _Size parameter
redi [Mon, 29 Apr 2019 12:12:43 +0000 (12:12 +0000)] 
PR libstdc++/87982 Fix generate_n and fill_n use of _Size parameter

The standard only requires that _Size can be converted to an integral
type, not that it can be used for arithmetic. Add a new set of
__size_to_integer helper functions to do the conversion (which will be
ambiguous if there is no one conversion that is better than any others).

Also add tests for DR 426 which requires these algorithms and search_n
to handle negative values of n.

PR libstdc++/87982
* include/bits/stl_algo.h (generate_n): Convert _Size parameter to
an integral type.
* include/bits/stl_algobase.h (__size_to_integer): New overloaded
functions to convert a value to an integral type.
(__fill_n_a, __fill_n_a): Assert that __n is already an integral type.
(fill_n): Convert _Size parameter to an integral type.
* testsuite/25_algorithms/fill_n/dr426.cc: New test.
* testsuite/25_algorithms/generate_n/87982.cc: New test.
* testsuite/25_algorithms/generate_n/dr426.cc: New test.

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

5 years agolibphobos: Fix multilib builds for s390x-linux-gnu
ibuclaw [Mon, 29 Apr 2019 05:42:48 +0000 (05:42 +0000)] 
libphobos: Fix multilib builds for s390x-linux-gnu

Merges upstream druntime aab44549, phobos 3dc363783.

Reviewed-on: https://github.com/dlang/druntime/pull/2590
     https://github.com/dlang/phobos/pull/6983

libphobos/ChangeLog:

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

* libdruntime/gcc/sections/elf_shared.d (IBMZ_Any): Define when
version S390 or SystemZ.  Use condition instead of SystemZ.
(getTLSRange): Return null on GNU_EMUTLS targets.

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

5 years agolibphobos: Backport minimal MinGW support patches.
ibuclaw [Mon, 29 Apr 2019 05:42:36 +0000 (05:42 +0000)] 
libphobos: Backport minimal MinGW support patches.

Merges upstream druntime 1ca80e4e, phobos b5e9661a0.

Reviewed-on: https://github.com/dlang/druntime/pull/2587
     https://github.com/dlang/phobos/pull/6981

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

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

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

5 years agoFix ChangeLog format
redi [Sun, 28 Apr 2019 21:38:19 +0000 (21:38 +0000)] 
Fix ChangeLog format

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

5 years agoAdding noexcept-specification on tuple constructors (LWG 2899)
ville [Sun, 28 Apr 2019 21:17:50 +0000 (21:17 +0000)] 
Adding noexcept-specification on tuple constructors (LWG 2899)

2019-04-28 Nina Dinka Ranns <dinka.ranns@gmail.com>

* libstdc++-v3/include/std/tuple:
(tuple()): Add noexcept-specification.
(tuple(const _Elements&...)): Likewise
(tuple(_UElements&&...)): Likewise
(tuple(const tuple<_UElements...>&)): Likewise
(tuple(tuple<_UElements...>&&)): Likewise
(tuple(const _T1&, const _T2&)): Likewise
(tuple(_U1&&, _U2&&)): Likewise
(tuple(const tuple<_U1, _U2>&): Likewise
(tuple(tuple<_U1, _U2>&&): Likewise
(tuple(const pair<_U1, _U2>&): Likewise
(tuple(pair<_U1, _U2>&&): Likewise
* libstdc++-v3/testsuite/20_util/tuple/cons/noexcept_specs.cc: New

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

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

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

5 years ago PR c++/90173
jakub [Sat, 27 Apr 2019 21:56:17 +0000 (21:56 +0000)] 
PR c++/90173
* g++.dg/cpp1z/class-deduction66.C: Use dg-do compile instead of
dg-do run.

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

5 years ago[netbsd] d: Fix build failures on sparc*-netbsd
ibuclaw [Sat, 27 Apr 2019 16:52:26 +0000 (16:52 +0000)] 
[netbsd] d: Fix build failures on sparc*-netbsd

gcc/ChangeLog:

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

* config/netbsd-d.c: Include memmodel.h.  Remove unused tree.h,
varasm.h, and netbsd-protos.h.

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

5 years agoUse __restrict for __relocate_object_a
glisse [Sat, 27 Apr 2019 14:09:20 +0000 (14:09 +0000)] 
Use __restrict for __relocate_object_a

2019-04-27  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/87106
* include/bits/stl_uninitialized.h (__relocate_object_a): Mark the
arguments with __restrict.

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

5 years ago PR target/89261
uros [Sat, 27 Apr 2019 13:38:19 +0000 (13:38 +0000)] 
PR target/89261
* config/i386/i386-protos.h (ix86_data_alignment): Change
the second argument type to unsigned int.
* config/i386/i386.c (ix86_data_alignment): Change "align"
argument type to unsigned int.

testsuite/ChangeLog:

PR target/89261
* gcc.target/i386/pr89261.c: New test.

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

5 years agoAdd missing target options (PR middle-end/90258).
marxin [Sat, 27 Apr 2019 06:33:29 +0000 (06:33 +0000)] 
Add missing target options (PR middle-end/90258).

2019-04-27  Martin Liska  <mliska@suse.cz>

PR middle-end/90258
* opt-suggestions.c (option_proposer::build_option_suggestions):
When get_valid_option_values returns empty values, add the
misspelling candidate.
2019-04-27  Martin Liska  <mliska@suse.cz>

PR middle-end/90258
* gcc.dg/completion-5.c: New test.
* gcc.target/i386/spellcheck-options-5.c: New test.

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

5 years agoRISC-V: Promode modes of constant loads for store insns.
wilson [Sat, 27 Apr 2019 00:46:20 +0000 (00:46 +0000)] 
RISC-V: Promode modes of constant loads for store insns.

This improves optimization of code storing constants to memory.  Given this
testcase:
    void sub1 (int *a, long long *b) { *a = 1; *b = 1; }
an unpatched rv64 compiler emits two li instructions, one for an SImode pseudo
and one for a DImode pseudo.  With the patch, we get a single DImode li insn.

gcc/
* config/riscv/riscv-protos.h (riscv_move_integer): Add machine_mode
parameter.
* config/riscv/riscv.c (riscv_move_integer): New parameter orig_mode.
Pass orig_mode to riscv_build_integer.
(riscv_split_integer): Pass mode to riscv_move_integer.
(riscv_legitimize_const_move): Likewise.
(riscv_legitimize_move): For MEM dest and CONST_INT src case, new local
promoted_mode.  Replace force_reg call with code to load constant into
promoted reg and then subreg it for the store.
* config/riscv/riscv.md (low<mode>+1): Pass <GPR:MODE>mode to
riscv_move_integer.

gcc/testsuite/
* gcc.target/riscv/load-immediate.c: New.

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

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

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

5 years ago runtime: fix TestPhysPageSize on AIX
ian [Fri, 26 Apr 2019 17:20:55 +0000 (17:20 +0000)] 
runtime: fix TestPhysPageSize on AIX

    AIX doesn't allow to mmap an address range which is already mmap.
    Therefore, once the region has been allocated, it must munmap before
    being able to play with it.
    The corresponding Go Toolchain patch is CL 174059.

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

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

5 years agox32: Update baseline_symbols.txt
hjl [Fri, 26 Apr 2019 16:53:54 +0000 (16:53 +0000)] 
x32: Update baseline_symbols.txt

* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.

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

5 years agoPR c++/90243 - orphaned note in uninstantiated constexpr function
redi [Fri, 26 Apr 2019 16:33:02 +0000 (16:33 +0000)] 
PR c++/90243 - orphaned note in uninstantiated constexpr function

gcc/cp:

PR c++/90243 - orphaned note in uninstantiated constexpr function
* decl.c (check_for_uninitialized_const_var): Suppress notes if no
error was shown.

gcc/testsuite:

PR c++/90243
* g++.dg/diagnostic/pr90243.C: New test.

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

5 years agoRemove redundant step in experimental::filesystem::path construction
redi [Fri, 26 Apr 2019 15:58:47 +0000 (15:58 +0000)] 
Remove redundant step in experimental::filesystem::path construction

* include/experimental/bits/fs_path.h
(path::_S_convert_loc<_InputIterator>): Create const std::string to
avoid redundant call to _S_convert_loc with non-const pointers.

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

5 years ago * gdbhooks.py: Fix UnicodeDecodeErrors when printing trees with
law [Fri, 26 Apr 2019 15:48:43 +0000 (15:48 +0000)] 
* gdbhooks.py: Fix UnicodeDecodeErrors when printing trees with
corrupt codes.

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

5 years ago PR debug/90197
jakub [Fri, 26 Apr 2019 15:38:33 +0000 (15:38 +0000)] 
PR debug/90197
* c-tree.h (c_finish_loop): Add 2 further location_t arguments.
* c-parser.c (c_parser_while_statement): Adjust c_finish_loop caller.
(c_parser_do_statement): Likewise.
(c_parser_for_statement): Likewise.  Formatting fixes.
* c-typeck.c (c_finish_loop): Add COND_LOCUS and INCR_LOCUS arguments,
emit DEBUG_BEGIN_STMTs if needed.

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

5 years ago * libiberty.h (vasprintf): Don't declare if HAVE_DECL_VASPRINTF
law [Fri, 26 Apr 2019 15:35:01 +0000 (15:35 +0000)] 
* libiberty.h (vasprintf): Don't declare if HAVE_DECL_VASPRINTF
is not defined.

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

5 years agoFix tests that fail with _GLIBCXX_USE_CXX11_ABI=0
redi [Fri, 26 Apr 2019 15:02:02 +0000 (15:02 +0000)] 
Fix tests that fail with _GLIBCXX_USE_CXX11_ABI=0

The pmr::string typedef isn't available for the old COW string, so some
tests that use it were failing.

* testsuite/20_util/variant/run.cc: Use a new Hashable type to test
hashing, because pmr::string depends on _GLIBCXX_USE_CXX11_ABI==1.
* testsuite/21_strings/basic_string/hash/hash.cc
[!_GLIBCXX_USE_CXX11_ABI]: Don't test pmr strings.
* testsuite/21_strings/basic_string/hash/hash_char8_t.cc
[!_GLIBCXX_USE_CXX11_ABI]: Likewise.

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

5 years ago/cp
paolo [Fri, 26 Apr 2019 14:51:00 +0000 (14:51 +0000)] 
/cp
2019-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/90173
* decl.c (grokdeclarator): Set type to error_mark_node
upon error about template placeholder type non followed
by a simple declarator-id.

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

PR c++/90173
* g++.dg/cpp1z/class-deduction66.C: New.

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

5 years agoReduce code instantiated by filesystem::path::_S_convert_loc
redi [Fri, 26 Apr 2019 14:04:45 +0000 (14:04 +0000)] 
Reduce code instantiated by filesystem::path::_S_convert_loc

Jakub noted in https://gcc.gnu.org/ml/libstdc++/2019-04/msg00140.html
that an unwanted std::wstring::_M_replace_dispatch symbol has started to
be exported from the Fedora shared library. This symbol is triggered by
the instantiation of std::wstring::assign(const char*, const char*) from
std::__str_codecvt_in which is called from path::_S_convert_loc. The
branch that triggers that instantiation can't actually happen in that
case, because codecvt facets will only return noconv when the input and
output types are the same. Guarding the assign call with an if-constexpr
check that the types are the same avoids instantiating template
specializations that will never actually be needed.

* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace wildcard that matches
wstring::_M_replace_dispatch with more specific patterns.
* include/bits/fs_path.h (path::_S_convert_loc<_InputIterator>):
Create const std::string to avoid redundant call to _S_convert_loc
with non-const pointers.
* include/bits/locale_conv.h (__do_str_codecvt): Use if-constexpr to
avoid unnecessary basic_string::assign instantiations.

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

5 years agoTweak C++2a uses-allocator construction utilities
redi [Fri, 26 Apr 2019 13:15:54 +0000 (13:15 +0000)] 
Tweak C++2a uses-allocator construction utilities

The 20_util/scoped_allocator/69293_neg.cc test was failing in C++2a mode
because the expected static_assert text wasn't matched. The code is
still ill-formed in C++2a, but uses the new __uses_alloc_args function
and so fails a different static_assert. This patch adds the same string
to the new static_assert, so the test passes.

Now that G++ allows concepts to be declared without 'bool' we can use
the correct C++2a syntax for the _Std_pair concept used to constrain the
uses-allocator construction utilities.

Also add a new test to verify that pmr::polymorphic_allocator correctly
performs recursive uses-allocator construction for nested pairs in
C++2a.

* include/std/memory (__uses_alloc_args): Add string-literal to
static_assert, to match the one in __uses_alloc.
[__cpp_concepts] (_Std_pair): Use C++2a syntax for concept.
* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: Check
for recursive uses-allocator construction of nested pairs.
* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:: Add
comment.

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

5 years ago * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
jakub [Fri, 26 Apr 2019 12:08:58 +0000 (12:08 +0000)] 
* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.

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

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