- 29 Feb, 2020 13 commits
-
-
2020-02-29 John David Anglin <danglin@gcc.gnu.org> PR ipa/92548 * gcc.dg/ipa/ipa-sra-12.c: xfail parameter split test on 32-bit hppa*-*-hpux*. * gcc.dg/ipa/ipa-sra-14.c: Likewise. * gcc.dg/ipa/ipcp-agg-12.c: xfail adding extra caller test.
John David Anglin committed -
2020-02-29 John David Anglin <danglin@gcc.gnu.org> * testsuite/17_intro/headers/c++1998/charset.cc: Skip on *-*-hpux*. * 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.
John David Anglin committed -
2020-02-29 John David Anglin <danglin@gcc.gnu.org> * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: Add libatomic option. * testsuite/30_threads/jthread/jthread.cc: Likewise.
John David Anglin committed -
Move std::is_permutation algorithm with associated helpers to stl_algobase.h to remove stl_algo.h include from hashtable_policy.h and so reduce preprocess size of unordered_map and unordered_set headers. * include/bits/stl_algo.h (__find_if, __count_if, __is_permutation, std::is_permutation): Move... * include/bits/stl_algobase.h: ...here. * include/bits/hashtable_policy.h: Remove <bits/stl_algo.h> include.
François Dumont committed -
2020-02-29 John David Anglin <danglin@gcc.gnu.org> * testsuite/30_threads/stop_token/stop_callback.cc: Add libatomic option. * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: Likewise. * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: Likewise. * testsuite/30_threads/stop_token/stop_callback/destroy.cc: Likewise. * testsuite/30_threads/stop_token/stop_callback/invoke.cc: Likewise. * testsuite/30_threads/stop_token/stop_source.cc: Likewise. * testsuite/30_threads/stop_token/stop_source/assign.cc: Likewise. * testsuite/30_threads/stop_token/stop_token.cc: Likewise. * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: Likewise.
John David Anglin committed -
John David Anglin committed
-
2020-02-29 John David Anglin <danglin@gcc.gnu.org> * /g++.dg/ext/visibility/ref-temp1.C: Require visibility. * gfortran.dg/pr90988_4.f: Likewise. * gfortran.dg/pr91372.f90: Likewise.
John David Anglin committed -
2020-02-29 John David Anglin <danglin@gcc.gnu.org> PR libstdc++/92906 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
John David Anglin committed -
* gcc.target/or1k/return-2.c: Update expected output.
Jeff Law committed -
* ru.po: Update.
Joseph Myers committed -
* gcc.target/xstormy16/sfr/06_sfrw_to_var.c: Update expected output.
Jeff Law committed -
The rule change in the title matches GCC's current behavior, so no change was needed. But the paper also makes 'typename' optional in a requirement-parameter-list, so this implements that. gcc/cp/ChangeLog 2020-02-28 Jason Merrill <jason@redhat.com> Implement P2092R0, Disambiguating Nested-Requirements * parser.c (cp_parser_requirement_parameter_list): Pass CP_PARSER_FLAGS_TYPENAME_OPTIONAL.
Jason Merrill committed -
GCC Administrator committed
-
- 28 Feb, 2020 19 commits
-
-
We were enabling the memcmp optimization in ranges::lexicographical_compare for signed integral types and for integral types wider than a byte. But memcmp gives the wrong answer for arrays of such types. This patch fixes this issue by refining the condition that enables the memcmp optimization. It's now consistent with the corresponding condition used in std::lexicographical_compare. libstdc++-v3/ChangeLog: PR libstdc++/93972 * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()): Fix condition for when to use memcmp, making it consistent with the corresponding condition used in std::lexicographical_compare. * testsuite/25_algorithms/lexicographical_compare/93972.cc: New test.
Patrick Palka committed -
The awaitable initially committed was returning "always ready" which meant that the suspension code was not used. Update the test to suspend at each co_await, since this exercises more of the infrastructure. gcc/testsuite/ChangeLog: 2020-02-28 Iain Sandoe <iain@sandoe.co.uk> * g++.dg/coroutines/torture/func-params-08.C: Update to suspend for each co_await operation.
Iain Sandoe committed -
Set sigpc and implement dumpregs for linux/arm64. Without this change, cmd/vet tool test will fail randomly. Updates golang/go#20931 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/220543
eric fang committed -
Tested with make check RUNTESTFLAGS="conformance.exp=*numeric*synopsis* --target_board=unix/-std=$std" for std in {c++98, c++11, c++17, c++2a}. libstdc++-v3/ChangeLog: * testsuite/26_numerics/headers/numeric/synopsis.cc: Add signatures for functions introduced in C++11, C++17 and C++2a. Add 'constexpr' to existing signatures for C++2a.
Patrick Palka committed -
We don't want to promote a conversion from viable == 0 to viable == -1. Found in ranges-v3. gcc/cp/ChangeLog 2020-02-28 Jason Merrill <jason@redhat.com> * call.c (build_user_type_conversion_1): Don't look at the second conversion of a non-viable candidate.
Jason Merrill committed -
And it only needs to define _GLIBCXX_ASSERTIONS not _GLIBCXX_DEBUG. * testsuite/24_iterators/range_operations/advance_debug_neg.cc: Run test instead of just compiling it.
Jonathan Wakely committed -
Paul Thomas committed
-
2020-02-28 Michael Meissner <meissner@linux.ibm.com> PR target/93937 * config/rs6000/vsx.md (vsx_extract_<mode>_<VS_scalar>mode_var): Delete, the insn will never work.
Michael Meissner committed -
When the underlying range models common_range, then reverse_view::begin() is already O(1) without caching. So we should disable the cache in this case too. libstdc++-v3/ChangeLog: * include/std/ranges (reverse_view::_S_needs_cached_begin): Set to false whenever the underlying range models common_range.
Patrick Palka committed -
PR other/93965 * configure.ac: Improve detection of ld_date by requiring either two dashes or none. * configure: Regenerate.
Martin Liska committed -
Seems I've missed one thing, as the first hunk in https://github.com/cplusplus/draft/commit/c8e68ed202b4a9260616bcee8a9768b5dca4bbca changes the wording so that only potentially-evaluated id-expressions that denote immediate functions must appear only in the specified contexts. That IMO means that in unevaluated contexts there aren't such restrictions anymore, so I think in unevaluated contexts one should be able to take the address of an immediate function. 2020-02-28 Jakub Jelinek <jakub@redhat.com> P1937R2 - Fixing inconsistencies between const{expr,eval} functions * typeck.c (cp_build_addr_expr_1): Allow taking address of immediate functions in unevaluated contexts. * g++.dg/cpp2a/consteval3.C: Change dg-error about taking address of immediate function in unevaluated contexts into dg-bogus. * g++.dg/cpp2a/consteval16.C: New test.
Jakub Jelinek committed -
2020-02-28 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/93564 * ira-color.c (assign_hard_reg): Prefer smaller hard regno when we do not honor reg alloc order.
Vladimir N. Makarov committed -
The message for conflicting mcpu and march previously printed the architecture of the CPU instead of the CPU name, as well as omitting the extensions to the march string. This patch corrects both errors. This patch fixes PR target/87612. 2020-02-27 Joel Hutton <Joel.Hutton@arm.com> PR target/87612 * config/aarch64/aarch64.c (aarch64_override_options): Fix misleading warning string.
Joel Hutton committed -
This patch adds memoization to these four views so that their begin() has the required amortized constant time complexity. The cache is enabled only for forward_ranges and above because we need the underlying iterator to be copyable and multi-pass in order for the cache to be usable. In the general case we represent the cached result of begin() as a bare iterator. This takes advantage of the fact that value-initialized forward iterators can be compared to as per N3644, so we can use a value-initialized iterator to denote the "empty" state of the cache. As a special case, when the underlying range models random_access_range and when it's profitable size-wise, then we cache the offset of the iterator from the beginning of the range instead of caching the iterator itself. Additionally, in drop_view and reverse_view we disable the cache when the underlying range models random_access_range, because in these cases recomputing begin() takes O(1) time anyway. libstdc++-v3/ChangeLog: * include/std/ranges (__detail::_CachedPosition): New struct. (views::filter_view::_S_needs_cached_begin): New member variable. (views::filter_view::_M_cached_begin): New member variable. (views::filter_view::begin): Use _M_cached_begin to cache its result. (views::drop_view::_S_needs_cached_begin): New static member variable. (views::drop_view::_M_cached_begin): New member variable. (views::drop_view::begin): Use _M_cached_begin to cache its result when _S_needs_cached_begin. (views::drop_while_view::_M_cached_begin): New member variable. (views::drop_while_view::begin): Use _M_cached_begin to cache its result. (views::reverse_view::_S_needs_cached_begin): New static member variable. (views::reverse_view::_M_cached_begin): New member variable. (views::reverse_view::begin): Use _M_cached_begin to cache its result when _S_needs_cached_begin. * testsuite/std/ranges/adaptors/drop.cc: Augment test to check that drop_view::begin caches its result. * testsuite/std/ranges/adaptors/drop_while.cc: Augment test to check that drop_while_view::begin caches its result. * testsuite/std/ranges/adaptors/filter.cc: Augment test to check that filter_view::begin caches its result. * testsuite/std/ranges/adaptors/reverse.cc: Augment test to check that reverse_view::begin caches its result.
Patrick Palka committed -
These tests were failing on XFS because it doesn't support setting file timestamps past 2038, so the expected overflow when reading back a huge timestamp into a file_time_type didn't happen. Additionally, the std::filesystem::file_time_type::clock has an epoch that is out of range of 32-bit time_t so testing times around that epoch may also fail. This fixes the tests to give up gracefully if the filesystem doesn't support times that can't be represented in 32-bit time_t. * testsuite/27_io/filesystem/operations/last_write_time.cc: Fixes for filesystems that silently truncate timestamps. * testsuite/experimental/filesystem/operations/last_write_time.cc: Likewise.
Jonathan Wakely committed -
This fixes a failure due to a (correct) warning seen when testing with -D_GLIBCXX_USE_CXX11_ABI=0 -D_GLIBCXX_ASSERTIONS: include/bits/char_traits.h:365: warning: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=] FAIL: 21_strings/basic_string/cons/char/1.cc (test for excess errors) * testsuite/21_strings/basic_string/cons/char/1.cc: Disable -Wstringop-overflow warnings.
Jonathan Wakely committed -
2020-02-28 Joel Hutton <joel.hutton@arm.com> * MAINTAINERS (Write After Approval) : Add myself.
Joel Hutton committed -
2020-02-28 Jakub Jelinek <jakub@redhat.com> PR middle-end/92152 * g++.dg/torture/pr92152.C (size_t): Use decltype (sizeof (0)) instead of hardcoding unsigned long. (uint64_t): Use unsigned long long instead of unsigned long.
Jakub Jelinek committed -
GCC Administrator committed
-
- 27 Feb, 2020 8 commits
-
-
gcc/ChangeLog: * doc/invoke.texi (-Wbuiltin-declaration-mismatch): Fix a typo.
Martin Sebor committed -
* fr.po: Update.
Joseph Myers committed -
* testsuite/lib/libstdc++.exp (v3_target_compile): Add -fdiagnostics-urls=never to options.
Jonathan Wakely committed -
[gcc] 2020-02-27 Michael Meissner <meissner@linux.ibm.com> PR target/93932 * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator): Split the insn into two parts. This insn only does variable extract from a register. (vsx_extract_<mode>_var_load, VSX_D iterator): New insn, do variable extract from memory. (vsx_extract_v4sf_var): Split the insn into two parts. This insn only does variable extract from a register. (vsx_extract_v4sf_var_load): New insn, do variable extract from memory. (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Split the insn into two parts. This insn only does variable extract from a register. (vsx_extract_<mode>_var_load, VSX_EXTRACT_I iterator): New insn, do variable extract from memory. [gcc/testsuite] 2020-02-27 Michael Meissner <meissner@linux.ibm.com> PR target/93932 * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Adjust instruction counts.
Michael Meissner committed -
This implements Jason's suggested approach: 'I'd think that the bug is that we're treating them as types in the first place; they aren't types, so they shouldn't reach comptypes. I'd lean toward adding an assert to that effect and fixing the caller to use e.g. template_args_equal.' PR c++/93933 * pt.c (template_args_equal): Pass ARGUMENT_PACKS through to cp_tree_equal. * tree.c (cp_tree_equal): Compare ARGUMENT_PACKS here, * typeck.c (comptypes): Assert we don't get any argument packs.
Nathan Sidwell committed -
Some of the range adaptors have distinct constant and non-constant iterator/sentinel types, along with converting constructors that can convert a non-constant iterator/sentinel to a constant iterator/sentinel. This patch adds the missing appropriate friend declarations in order to make these converting constructors well formed. Strictly speaking it seems the friendship relations don't need to go both ways -- we could get away with declaring e.g. friend _Iterator<false>; instead of friend _Iterator<!_Const>; but both reference implementations seem to use the latter symmetric form anyway. libstdc++-v3/ChangeLog: * include/std/ranges (transform_view::_Iterator<_Const>): Befriend _Iterator<!_Const>. (transform_view::_Sentinel<_Const>): Befriend _Sentinel<!_Const>. (take_view::_Sentinel<_Const>): Likewise. (take_while_view::_Sentinel<_Const>): Likewise. (split_view::_OuterIter<_Const>): Befriend _OuterIter<!_Const>. * testsuite/std/ranges/adaptors/split.cc: Augment test. * testsuite/std/ranges/adaptors/take.cc: Augment test. * testsuite/std/ranges/adaptors/take_while.cc: Augment test. * testsuite/std/ranges/adaptors/transform.cc: Augment test.
Patrick Palka committed -
This fixes the failures in the constrained algos tests when they are run in debug mode. libstdc++-v3/ChangeLog: * testsuite/25_algorithms/copy/constrained.cc: Don't assume that the base() of a vector<>::iterator is a pointer. * testsuite/25_algorithms/copy_backward/constrained.cc: Likewise. * testsuite/25_algorithms/move/constrained.cc: Likewise. * testsuite/25_algorithms/move_backward/constrained.cc: Likewise. * testsuite/25_algorithms/inplace_merge/constrained.cc: Use foo.data() instead of &foo[0]. * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/constrained.cc: Likewise. * testsuite/25_algorithms/shuffle/constrained.cc: Likewise. * testsuite/25_algorithms/sort/constrained.cc: Likewise. * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
Patrick Palka committed -
2020-02-27 Martin Jambor <mjambor@suse.cz> Feng Xue <fxue@os.amperecomputing.com> PR ipa/93707 * ipa-cp.c (same_node_or_its_all_contexts_clone_p): Replaced with new function calls_same_node_or_its_all_contexts_clone_p. (cgraph_edge_brings_value_p): Use it. (cgraph_edge_brings_value_p): Likewise. (self_recursive_pass_through_p): Return false if caller is a clone. (self_recursive_agg_pass_through_p): Likewise. testsuite/ * gcc.dg/ipa/pr93707.c: New test.
Martin Jambor committed
-