Alexandre Oliva
dcf0bd14cd
[libstdc++] [testsuite] disable SRA for compare_exchange_padding
...
On arm-vx7r2, the uses of as.load() as initializer get SRAed, so the
padding bits in the tests are not what we might expect from full-word
struct copies.
I tried adding a function to perform bitwise copying, but even taking
the as.load() argument by const&, we'd still construct a temporary
with SRAed field-wise copying. Unable to find another way to ensure
we wouldn't get a temporary, I went for disabling SRA.
for libstdc++-v3/ChangeLog
* testsuite/29_atomics/atomic/compare_exchange_padding.cc:
Disable SRA.
2024-04-18 08:03:56 -03:00
Jonathan Wakely
e162b2ff52
libstdc++: Do not define lock-free atomic aliases if not fully lock-free [PR114103]
...
The whole point of these typedefs is to guarantee lock-freedom, so if
the target has no such types, we shouldn't defined the typedefs at all.
libstdc++-v3/ChangeLog:
PR libstdc++/114103
* include/bits/version.def (atomic_lock_free_type_aliases): Add
extra_cond to check for at least one always-lock-free type.
* include/bits/version.h: Regenerate.
* include/std/atomic (atomic_signed_lock_free)
(atomic_unsigned_lock_free): Only use always-lock-free types.
* src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): Don't use
atomic counter if lock-free aliases aren't available.
* testsuite/29_atomics/atomic/lock_free_aliases.cc: XFAIL for
targets without lock-free word-size compare_exchange.
2024-03-07 20:55:25 +00:00
Jonathan Wakely
709d8474bc
libstdc++: Replace unnecessary uses of built-ins in testsuite
...
I don't see why we should rely on __builtin_memset etc. in tests. We can
just include <cstring> and use the public API.
libstdc++-v3/ChangeLog:
* testsuite/23_containers/deque/allocator/default_init.cc: Use
std::memset instead of __builtin_memset.
* testsuite/23_containers/forward_list/allocator/default_init.cc:
Likewise.
* testsuite/23_containers/list/allocator/default_init.cc:
Likewise.
* testsuite/23_containers/map/allocator/default_init.cc:
Likewise.
* testsuite/23_containers/set/allocator/default_init.cc:
Likewise.
* testsuite/23_containers/unordered_map/allocator/default_init.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/default_init.cc:
Likewise.
* testsuite/23_containers/vector/allocator/default_init.cc:
Likewise.
* testsuite/23_containers/vector/bool/allocator/default_init.cc:
Likewise.
* testsuite/29_atomics/atomic/compare_exchange_padding.cc:
Likewise.
* testsuite/util/atomic/wait_notify_util.h: Likewise.
2024-03-07 20:55:25 +00:00
Jakub Jelinek
a945c346f5
Update copyright years.
2024-01-03 12:19:35 +01:00
Jonathan Wakely
f4ab68469c
libstdc++: Test for feature test macros more accurately
...
Tests which check for feature test macros should use the no_pch option,
so that we're really testing for the definition being in the intended
header, and not just testing that it's present in <bits/stdc++.h> (which
includes all the standard headers and so defines all the macros).
libstdc++-v3/ChangeLog:
* testsuite/18_support/byte/requirements.cc: Disable PCH.
* testsuite/18_support/destroying_delete.cc: Likewise.
* testsuite/18_support/source_location/1.cc: Likewise.
* testsuite/18_support/source_location/version.cc: Likewise.
* testsuite/18_support/type_info/constexpr.cc: Likewise.
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
Likewise.
* testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
* testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
* testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
* testsuite/20_util/addressof/requirements/constexpr.cc:
Likewise.
* testsuite/20_util/allocator_traits/header-2.cc: Likewise.
* testsuite/20_util/allocator_traits/header.cc: Likewise.
* testsuite/20_util/as_const/1.cc: Likewise. Likewise.
* testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
* testsuite/20_util/bitset/version.cc: Likewise.
* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
Likewise.
* testsuite/20_util/duration_cast/rounding.cc: Likewise.
* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
Likewise.
* testsuite/20_util/exchange/constexpr.cc: Likewise.
* testsuite/20_util/expected/synopsis.cc: Likewise.
* testsuite/20_util/expected/version.cc: Likewise.
* testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
* testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
* testsuite/20_util/function_objects/invoke/3.cc: Likewise.
* testsuite/20_util/function_objects/invoke/4.cc: Likewise.
* testsuite/20_util/function_objects/invoke/constexpr.cc:
Likewise.
* testsuite/20_util/function_objects/invoke/version.cc:
Likewise.
* testsuite/20_util/function_objects/searchers.cc: Likewise.
* testsuite/20_util/integer_comparisons/1.cc: Likewise.
* testsuite/20_util/integer_comparisons/2.cc: Likewise.
* testsuite/20_util/is_bounded_array/value.cc: Likewise.
* testsuite/20_util/is_layout_compatible/value.cc: Likewise.
* testsuite/20_util/is_layout_compatible/version.cc: Likewise.
* testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_swappable/value.h: Likewise.
* testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
Remove redundant checks already tested elsewhere.
* testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable
PCH.
* testsuite/20_util/is_pointer_interconvertible/value.cc:
Likewise.
* testsuite/20_util/is_pointer_interconvertible/version.cc:
Likewise.
* testsuite/20_util/is_scoped_enum/value.cc: Likewise.
* testsuite/20_util/is_scoped_enum/version.cc: Likewise.
* testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
Remove redundant checks already tested elsewhere.
* testsuite/20_util/is_swappable/requirements/typedefs.cc:
Remove redundant checks already tested elsewhere.
* testsuite/20_util/is_swappable/value.cc: Disable PCH.
* testsuite/20_util/is_swappable/value.h: Reorder headers.
* testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
Remove redundant checks already tested elsewhere.
* testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
Remove redundant checks already tested elsewhere.
* testsuite/20_util/is_swappable_with/value.cc: Disable PCH.
* testsuite/20_util/is_unbounded_array/value.cc: Likewise.
* testsuite/20_util/move_only_function/cons.cc: Likewise.
* testsuite/20_util/move_only_function/version.cc: Likewise.
* testsuite/20_util/optional/monadic/and_then.cc: Likewise.
* testsuite/20_util/optional/requirements.cc: Likewise.
* testsuite/20_util/optional/version.cc: Likewise.
* testsuite/20_util/owner_less/void.cc: Likewise.
* testsuite/20_util/reference_from_temporary/value.cc: Likewise.
* testsuite/20_util/reference_from_temporary/version.cc:
Likewise.
* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
Likewise.
* testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
* testsuite/20_util/time_point_cast/rounding.cc: Likewise.
* testsuite/20_util/to_chars/constexpr.cc: Likewise.
* testsuite/20_util/to_chars/result.cc: Likewise.
* testsuite/20_util/to_chars/version.cc: Likewise.
* testsuite/20_util/to_underlying/1.cc: Likewise.
* testsuite/20_util/to_underlying/version.cc: Likewise.
* testsuite/20_util/tuple/apply/1.cc: Likewise.
* testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
Likewise.
* testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
* testsuite/20_util/tuple/p2321r2.cc: Likewise.
* testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
Likewise.
* testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
Likewise.
* testsuite/20_util/unreachable/1.cc: Likewise.
* testsuite/20_util/unreachable/version.cc: Likewise.
* testsuite/20_util/unwrap_reference/1.cc: Likewise.
* testsuite/20_util/unwrap_reference/3.cc: Likewise.
* testsuite/20_util/variant/constexpr.cc: Likewise.
* testsuite/20_util/variant/version.cc: Likewise.
* testsuite/20_util/variant/visit_inherited.cc: Likewise.
* testsuite/20_util/void_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
Likewise.
* testsuite/21_strings/basic_string/cons/char/constexpr.cc:
Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
Likewise.
* testsuite/21_strings/basic_string/erasure.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/version.cc:
Likewise.
* testsuite/21_strings/basic_string/version.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/contains/char.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/version.cc:
Likewise.
* testsuite/23_containers/array/comparison_operators/constexpr.cc:
Likewise.
* testsuite/23_containers/array/creation/1.cc: Likewise.
* testsuite/23_containers/array/creation/2.cc: Likewise.
* testsuite/23_containers/array/element_access/constexpr_c++17.cc:
Likewise.
* testsuite/23_containers/array/requirements/constexpr_fill.cc:
Likewise.
* testsuite/23_containers/array/requirements/constexpr_iter.cc:
Likewise.
* testsuite/23_containers/deque/erasure.cc: Likewise.
* testsuite/23_containers/forward_list/erasure.cc: Likewise.
* testsuite/23_containers/list/erasure.cc: Likewise.
* testsuite/23_containers/map/erasure.cc: Likewise.
* testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
* testsuite/23_containers/set/erasure.cc: Likewise.
* testsuite/23_containers/span/1.cc: Likewise.
* testsuite/23_containers/span/2.cc: Likewise.
* testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
* testsuite/23_containers/unordered_map/operations/1.cc:
Likewise.
* testsuite/23_containers/unordered_set/erasure.cc: Likewise.
* testsuite/23_containers/unordered_set/operations/1.cc:
Likewise.
* testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
* testsuite/23_containers/vector/erasure.cc: Likewise.
* testsuite/23_containers/vector/requirements/version.cc:
Likewise.
* testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
* testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
Remove redundant checks already tested elsewhere.
* testsuite/25_algorithms/constexpr_macro.cc: Likewise.
* testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
* testsuite/25_algorithms/fold_left/1.cc: Likewise.
* testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
* testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
* testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
* testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
* testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
* testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
* testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
* testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
* testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
* testsuite/26_numerics/bit/header-2.cc: Likewise.
* testsuite/26_numerics/bit/header.cc: Likewise.
* testsuite/26_numerics/complex/1.cc: Likewise.
* testsuite/26_numerics/complex/2.cc: Likewise.
* testsuite/26_numerics/endian/2.cc: Likewise.
* testsuite/26_numerics/endian/3.cc: Likewise.
* testsuite/26_numerics/gcd/1.cc: Likewise.
* testsuite/26_numerics/lcm/1.cc: Likewise.
* testsuite/26_numerics/lerp/1.cc: Likewise.
* testsuite/26_numerics/lerp/version.cc: Likewise.
* testsuite/26_numerics/midpoint/integral.cc: Likewise.
* testsuite/26_numerics/midpoint/version.cc: Likewise.
* testsuite/26_numerics/numbers/1.cc: Likewise.
* testsuite/26_numerics/numbers/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/native_handle/char/1.cc:
Likewise.
* testsuite/27_io/basic_filebuf/native_handle/version.cc:
Likewise.
* testsuite/27_io/basic_ofstream/open/char/noreplace.cc:
Likewise.
* testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
Likewise.
* testsuite/27_io/basic_syncbuf/1.cc: Likewise.
* testsuite/27_io/basic_syncbuf/2.cc: Likewise.
* testsuite/27_io/basic_syncstream/1.cc: Likewise.
* testsuite/27_io/basic_syncstream/2.cc: Likewise.
* testsuite/27_io/spanstream/1.cc: Likewise.
* testsuite/27_io/spanstream/version.cc: Likewise.
* testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
* testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
Likewise.
* testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
* testsuite/30_threads/barrier/1.cc: Likewise.
* testsuite/30_threads/barrier/2.cc: Likewise.
* testsuite/30_threads/condition_variable_any/stop_token/1.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/stop_token/2.cc:
Likewise.
* testsuite/30_threads/jthread/1.cc: Likewise.
* testsuite/30_threads/jthread/version.cc: Likewise.
* testsuite/30_threads/latch/1.cc: Likewise.
* testsuite/30_threads/latch/2.cc: Likewise.
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
Likewise.
* testsuite/30_threads/semaphore/1.cc: Likewise.
* testsuite/30_threads/semaphore/2.cc: Likewise.
* testsuite/30_threads/stop_token/1.cc: Likewise.
* testsuite/30_threads/stop_token/2.cc: Likewise.
* testsuite/experimental/feat-char8_t.cc: Likewise.
* testsuite/experimental/iterator/ostream_joiner.cc: Likewise.
* testsuite/experimental/numeric/gcd.cc: Likewise.
* testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
* testsuite/std/concepts/1.cc: Likewise.
* testsuite/std/concepts/2.cc: Likewise.
* testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
* testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
* testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
* testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
* testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
* testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
* testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
* testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
* testsuite/std/ranges/cartesian_product/1.cc: Likewise.
* testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
* testsuite/std/ranges/repeat/1.cc: Likewise.
* testsuite/std/ranges/version_c++23.cc: Likewise.
* testsuite/std/ranges/zip/1.cc: Likewise.
* testsuite/std/time/syn_c++20.cc: Likewise.
* testsuite/experimental/feat-cxx14.cc: Likewise. Include
<algorithm> and <iterator>.
* testsuite/23_containers/array/tuple_interface/get_neg.cc:
Adjust dg-error line numbers.
2023-11-16 08:06:59 +00:00
Jonathan Wakely
090589e84b
libstdc++: Deprecate std::atomic_xxx overloads for std::shared_ptr
...
These overloads are deprecated in C++20 (and likely to be removed for
C++26). The std::atomic<std::shared_ptr<T>> specialization should be
preferred in new code.
libstdc++-v3/ChangeLog:
* include/bits/shared_ptr_atomic.h (atomic_is_lock_free)
(atomic_load_explicit, atomic_load, atomic_store_explicit)
(atomic_store, atomic_exchange_explicit, atomic_exchange)
(atomic_compare_exchange_strong, atomic_compare_exchange_weak)
(atomic_compare_exchange_strong_explicit)
(atomic_compare_exchange_weak_explicit): Add deprecated
attribute for C++20 and later.
* testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated
warnings.
* testsuite/20_util/shared_ptr/atomic/2.cc: Likewise.
* testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
* testsuite/29_atomics/atomic/lwg3220.cc: Likewise.
2023-11-11 00:41:08 +00:00
Hans-Peter Nilsson
ba0cde8ba2
testsuite: Replace many dg-require-thread-fence with dg-require-atomic-cmpxchg-word
...
These tests actually use a form of atomic compare and exchange
operation, not just atomic loading and storing. Some targets (not
supported by e.g. libatomic) have atomic loading and storing, but not
compare and exchange, yielding linker errors for missing library
functions.
This change is just for existing uses of
dg-require-thread-fence. It does not fix any other tests
that should also be gated on dg-require-atomic-cmpxchg-word.
* testsuite/29_atomics/atomic/compare_exchange_padding.cc,
testsuite/29_atomics/atomic_flag/clear/1.cc,
testsuite/29_atomics/atomic_flag/cons/value_init.cc,
testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
testsuite/29_atomics/atomic_ref/generic.cc,
testsuite/29_atomics/atomic_ref/integral.cc,
testsuite/29_atomics/atomic_ref/pointer.cc: Replace
dg-require-thread-fence with dg-require-atomic-cmpxchg-word.
2023-10-13 02:20:30 +02:00
Jonathan Wakely
1b13c424da
libstdc++: Remove dg-options "-std=gnu++20" from <atomic> tests
...
The testsuite will automatically select C++20 for these tests now, and
removing the hardcoded -std option allows them to be tested for C++23
and C++26 as well.
libstdc++-v3/ChangeLog:
* testsuite/29_atomics/atomic/compare_exchange_padding.cc:
Remove dg-options -std=gnu++2a.
* testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
* testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
* testsuite/29_atomics/atomic/requirements/types_neg.cc:
Likewise.
* testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
* testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise.
* testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise.
* testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
* testsuite/29_atomics/atomic_float/1.cc: Likewise.
* testsuite/29_atomics/atomic_float/95282.cc: Likewise.
* testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
* testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
* testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/value_init.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
* testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
Likewise.
* testsuite/29_atomics/atomic_ref/deduction.cc: Likewise.
* testsuite/29_atomics/atomic_ref/float.cc: Likewise.
* testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
* testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
* testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
* testsuite/29_atomics/atomic_ref/requirements.cc: Likewise.
* testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
Likewise.
* testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
Likewise.
* testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
Likewise.
* testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
Likewise.
2023-09-16 00:10:44 +01:00
Christophe Lyon
62b29347c3
libstdc++: Add dg-require-thread-fence in several tests
...
Some targets like arm-eabi with newlib and default settings rely on
__sync_synchronize() to ensure synchronization. Newlib does not
implement it by default, to make users aware they have to take special
care.
This makes a few tests fail to link.
This patch requires the missing thread-fence effective target in the
tests that need it, making them UNSUPPORTED instead of FAIL and
UNRESOLVED.
2023-09-10 Christophe Lyon <christophe.lyon@linaro.org>
libstdc++-v3/
* testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise.
* testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
* testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise.
* testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise.
* testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
* testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
* testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
2023-09-14 09:31:48 +00:00
Arsen Arsenović
3bfd0420e4
libstdc++: Fix some freestanding test failures
...
At some point, <charconv> was added to the non-hosted bit of the C++17
block, which induced failures in many tests.
In addition, some tests also lacked a dg-require-effective-target hosted
tag.
libstdc++-v3/ChangeLog:
* include/precompiled/stdc++.h (C++17): Don't double-include
<charconv>, once with wrong conditions.
* testsuite/18_support/96817.cc: Require hosted.
* testsuite/18_support/bad_exception/59392.cc: Ditto.
* testsuite/20_util/scoped_allocator/108952.cc: Ditto.
* testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
Ditto.
2023-04-05 18:45:15 +02:00
Jakub Jelinek
83ffe9cde7
Update copyright years.
2023-01-16 11:52:17 +01:00
Jonathan Wakely
320ac807da
libstdc++: Define atomic lock-free type aliases for C++20 [PR98034]
...
libstdc++-v3/ChangeLog:
PR libstdc++/98034
* include/std/atomic (__cpp_lib_atomic_lock_free_type_aliases):
Define macro.
(atomic_signed_lock_free, atomic_unsigned_lock_free): Define
aliases.
* include/std/version (__cpp_lib_atomic_lock_free_type_aliases):
Define macro.
* testsuite/29_atomics/atomic/lock_free_aliases.cc: New test.
2022-12-12 14:00:09 +00:00
Arsen Arsenović
7cc9022f8d
libstdc++: Disable hosted-only tests [PR103626]
...
PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding
libstdc++-v3/ChangeLog:
PR libstdc++/103626
* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc:
Require ET hosted.
* testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise.
* testsuite/18_support/new_nothrow.cc: Likewise.
* testsuite/20_util/allocator/105975.cc: Likewise.
* testsuite/20_util/allocator/14176.cc: Likewise.
* testsuite/20_util/allocator/64135.cc: Likewise.
* testsuite/20_util/allocator/89510.cc: Likewise.
* testsuite/20_util/allocator/lwg3190.cc: Likewise.
* testsuite/20_util/allocator/overaligned.cc: Likewise.
* testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
* testsuite/20_util/allocator/requirements/constexpr.cc:
Likewise.
* testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/allocator/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
Likewise.
* testsuite/20_util/allocator/void.cc: Likewise.
* testsuite/20_util/allocator_traits/header-2.cc: Likewise.
* testsuite/20_util/allocator_traits/header.cc: Likewise.
* testsuite/20_util/allocator_traits/members/92878_92947.cc:
Likewise.
* testsuite/20_util/allocator_traits/members/pointers.cc:
Likewise.
* testsuite/20_util/allocator_traits/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/bad_function_call/cons_virtual_derivation.cc:
Likewise.
* testsuite/20_util/bind/42593.cc: Likewise.
* testsuite/20_util/bitset/access/dr396.cc: Likewise.
* testsuite/20_util/bitset/access/to_string.cc: Likewise.
* testsuite/20_util/bitset/cons/16020.cc: Likewise.
* testsuite/20_util/bitset/cons/dr1325-2.cc: Likewise.
* testsuite/20_util/bitset/cons/dr396.cc: Likewise.
* testsuite/20_util/bitset/debug/invalidation/1.cc: Likewise.
* testsuite/20_util/bitset/ext/15361.cc: Likewise.
* testsuite/20_util/bitset/operations/13838.cc: Likewise.
* testsuite/20_util/bitset/operations/96303.cc: Likewise.
* testsuite/20_util/bitset/version.cc: Likewise.
* testsuite/20_util/enable_shared_from_this/56383.cc: Likewise.
* testsuite/20_util/enable_shared_from_this/89303.cc: Likewise.
* testsuite/20_util/enable_shared_from_this/members/assign.cc:
Likewise.
* testsuite/20_util/enable_shared_from_this/members/const.cc:
Likewise.
* testsuite/20_util/enable_shared_from_this/members/reinit.cc:
Likewise.
* testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc:
Likewise.
* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
Likewise.
* testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/forward/1.cc: Likewise.
* testsuite/20_util/forward/1_neg.cc: Likewise.
* testsuite/20_util/function/1.cc: Likewise.
* testsuite/20_util/function/10.cc: Likewise.
* testsuite/20_util/function/2.cc: Likewise.
* testsuite/20_util/function/3.cc: Likewise.
* testsuite/20_util/function/4.cc: Likewise.
* testsuite/20_util/function/43397.cc: Likewise.
* testsuite/20_util/function/48541.cc: Likewise.
* testsuite/20_util/function/5.cc: Likewise.
* testsuite/20_util/function/58569.cc: Likewise.
* testsuite/20_util/function/6.cc: Likewise.
* testsuite/20_util/function/60594.cc: Likewise.
* testsuite/20_util/function/65760.cc: Likewise.
* testsuite/20_util/function/69222.cc: Likewise.
* testsuite/20_util/function/7.cc: Likewise.
* testsuite/20_util/function/77322.cc: Likewise.
* testsuite/20_util/function/8.cc: Likewise.
* testsuite/20_util/function/9.cc: Likewise.
* testsuite/20_util/function/91456.cc: Likewise.
* testsuite/20_util/function/assign/move.cc: Likewise.
* testsuite/20_util/function/assign/move_target.cc: Likewise.
* testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
* testsuite/20_util/function/cons/55320.cc: Likewise.
* testsuite/20_util/function/cons/57465.cc: Likewise.
* testsuite/20_util/function/cons/72820.cc: Likewise.
* testsuite/20_util/function/cons/addressof.cc: Likewise.
* testsuite/20_util/function/cons/callable.cc: Likewise.
* testsuite/20_util/function/cons/deduction.cc: Likewise.
* testsuite/20_util/function/cons/lwg2774.cc: Likewise.
* testsuite/20_util/function/cons/move.cc: Likewise.
* testsuite/20_util/function/cons/move_target.cc: Likewise.
* testsuite/20_util/function/cons/noexcept.cc: Likewise.
* testsuite/20_util/function/cons/non_copyconstructible.cc:
Likewise.
* testsuite/20_util/function/cons/refqual.cc: Likewise.
* testsuite/20_util/function/cons/70692.cc: Likewise.
* testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
* testsuite/20_util/function/invoke/forwarding.cc: Likewise.
* testsuite/20_util/function/invoke/move_only.cc: Likewise.
* testsuite/20_util/function/null_pointer_comparisons.cc:
Likewise.
* testsuite/20_util/function/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/function/target_no_rtti.cc: Likewise.
* testsuite/20_util/function_objects/83607.cc: Likewise.
* testsuite/20_util/function_objects/mem_fn/adl.cc: Likewise.
* testsuite/20_util/headers/cstdlib/functions_std.cc: Likewise.
* testsuite/20_util/headers/functional/types_std_c++0x.cc:
Likewise.
* testsuite/20_util/headers/memory/types_std_c++0x.cc: Likewise.
* testsuite/20_util/is_function/35637.cc: Likewise.
* testsuite/20_util/move/1.cc: Likewise.
* testsuite/20_util/move_only_function/call.cc: Likewise.
* testsuite/20_util/move_only_function/cons.cc: Likewise.
* testsuite/20_util/move_only_function/move.cc: Likewise.
* testsuite/20_util/move_only_function/version.cc: Likewise.
* testsuite/20_util/owner_less/cmp.cc: Likewise.
* testsuite/20_util/owner_less/noexcept.cc: Likewise.
* testsuite/20_util/owner_less/void.cc: Likewise.
* testsuite/20_util/pointer_safety/1.cc: Likewise.
* testsuite/20_util/scoped_allocator/65279.cc: Likewise.
* testsuite/20_util/scoped_allocator/69293_neg.cc: Likewise.
* testsuite/20_util/scoped_allocator/construct_pair.cc:
Likewise.
* testsuite/20_util/scoped_allocator/dr2586.cc: Likewise.
* testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc:
Likewise.
* testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/sfinae.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc:
Likewise.
* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
Likewise.
* testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc:
Likewise.
* testsuite/20_util/shared_ptr/atomic/1.cc: Likewise.
* testsuite/20_util/shared_ptr/atomic/2.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/86537.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
Likewise.
* testsuite/20_util/shared_ptr/comparison/dr1401.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/39405.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/46910.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/51365.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/52924.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/55123.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/58659.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/58839.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/61036.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/79467.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/80229.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/array.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/lwg2802.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/lwg3548.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/36949.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc:
Likewise.
* testsuite/20_util/shared_ptr/creation/58594.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/87278.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/92878_92947.cc:
Likewise.
* testsuite/20_util/shared_ptr/creation/99006.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/private.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/single_allocation.cc:
Likewise.
* testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc:
Likewise.
* testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
* testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
* testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc:
Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/array.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/owner_before.cc:
Likewise.
* testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/20_util/shared_ptr/requirements/weak_type.cc:
Likewise.
* testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
Likewise.
* testsuite/20_util/temporary_buffer.cc: Likewise.
* testsuite/20_util/tuple/48476.cc: Likewise.
* testsuite/20_util/tuple/cons/90700.cc: Likewise.
* testsuite/20_util/tuple/cons/96803.cc: Likewise.
* testsuite/20_util/tuple/cons/allocator_with_any.cc: Likewise.
* testsuite/20_util/tuple/cons/allocators.cc: Likewise.
* testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
Likewise.
* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
* testsuite/20_util/tuple/p2321r2.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/92878_92947.cc:
Likewise.
* testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/array_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
Likewise.
* testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
Likewise.
* testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
* testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
* testsuite/20_util/uses_allocator/uninitialized_construct.cc:
Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
* testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
* testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
Likewise.
* testsuite/20_util/weak_ptr/lock/1.cc: Likewise.
* testsuite/20_util/weak_ptr/observers/owner_before.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/21_strings/basic_string/version.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
Likewise.
* testsuite/21_strings/c_strings/char/69626.cc: Likewise.
* testsuite/21_strings/char_traits/requirements/version.cc:
Likewise.
* testsuite/23_containers/vector/requirements/version.cc:
Likewise.
* testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
Likewise.
* testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
Likewise.
* testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
Likewise.
* testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
Likewise.
* testsuite/24_iterators/istreambuf_iterator/92285.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
Likewise.
* testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
Likewise.
* testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc:
Likewise.
* testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
Likewise.
* testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
Likewise.
* testsuite/25_algorithms/constexpr_macro.cc: Likewise.
* testsuite/25_algorithms/equal/constrained.cc: Likewise.
* testsuite/25_algorithms/headers/cstdlib/functions_std.cc:
Likewise.
* testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
* testsuite/25_algorithms/lexicographical_compare/constrained.cc:
Likewise.
* testsuite/25_algorithms/make_heap/movable.cc: Likewise.
* testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
* testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
* testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/25_algorithms/sort/35588.cc: Likewise.
* testsuite/25_algorithms/stable_partition/1.cc: Likewise.
* testsuite/25_algorithms/stable_partition/constrained.cc:
Likewise.
* testsuite/25_algorithms/stable_partition/mem_check.cc:
Likewise.
* testsuite/25_algorithms/stable_partition/moveable.cc:
Likewise.
* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
Likewise.
* testsuite/25_algorithms/stable_sort/1.cc: Likewise.
* testsuite/26_numerics/complex/2.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/2190.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/60401.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/dr2192.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/dr2735.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/functions_std.cc:
Likewise.
* testsuite/26_numerics/headers/cstdlib/macros.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/types_std.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc:
Likewise.
* testsuite/26_numerics/lerp/version.cc: Likewise.
* testsuite/26_numerics/midpoint/version.cc: Likewise.
* testsuite/27_io/basic_syncbuf/2.cc: Likewise.
* testsuite/27_io/basic_syncstream/2.cc: Likewise.
* testsuite/27_io/fpos/14320-1.cc: Likewise.
* testsuite/27_io/fpos/14320-2.cc: Likewise.
* testsuite/27_io/fpos/14320-3.cc: Likewise.
* testsuite/27_io/fpos/14320-4.cc: Likewise.
* testsuite/27_io/spanstream/version.cc: Likewise.
* testsuite/29_atomics/atomic/lwg3220.cc: Likewise.
* testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
* testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
* testsuite/30_threads/barrier/2.cc: Likewise.
* testsuite/30_threads/condition_variable_any/stop_token/2.cc:
Likewise.
* testsuite/30_threads/jthread/version.cc: Likewise.
* testsuite/30_threads/latch/2.cc: Likewise.
* testsuite/30_threads/semaphore/2.cc: Likewise.
* testsuite/30_threads/stop_token/2.cc: Likewise.
* testsuite/abi/pr42230.cc: Likewise.
* testsuite/ext/shared_ptr/1.cc: Likewise.
* testsuite/libstdc++-xmethods/shared_ptr.cc: Likewise.
* testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
* testsuite/std/ranges/adaptors/p1739.cc: Likewise.
* testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
* testsuite/std/ranges/p2325.cc: Likewise.
2022-10-03 15:44:01 +01:00
Thomas Rodgers
157236dbd6
libstdc++: Clear padding bits in atomic compare_exchange
...
This change implements P0528 which requires that padding bits not
participate in atomic compare exchange operations. All arguments to the
generic template are 'sanitized' by the __builtin_clear_padding intrinsic
before they are used in comparisons. This requires that any stores
also sanitize the incoming value.
Co-authored-by: Jakub Jelinek <jakub@redhat.com>
Co-authored-by: Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Thomas Rodgers <trodgers@redhat.com>
libstdc++-v3/ChangeLog:
* include/bits/atomic_base.h (__atomic_impl::__maybe_has_padding):
New function.
(__atomic_impl::clear_padding): Likewise.
(__atomic_impl::__compare_exchange): Likewise.
(__atomic_impl::compare_exchange_weak): Delegate to
__compare_exchange.
(__atomic_impl::compare_exchange_strong): Likewise.
* include/std/atomic (atomic<T>::atomic(T)): Clear padding when
possible in a constexpr function.
(atomic::store): Clear padding.
(atomic::exchange): Likewise.
(atomic::compare_exchange_weak): Use __compare_exchange.
(atomic::compare_exchange_strong): Likewise.
* testsuite/29_atomics/atomic/compare_exchange_padding.cc: New
test.
* testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
New test.
2022-09-08 19:29:12 +01:00
Jonathan Wakely
30cc1b65e4
libstdc++: Use type_identity_t for non-deducible std::atomic_xxx args
...
This is LWG 3220 which is about to become Tentatively Ready.
libstdc++-v3/ChangeLog:
* include/std/atomic (__atomic_val_t): Use __type_identity_t
instead of atomic<T>::value_type, as per LWG 3220.
* testsuite/29_atomics/atomic/lwg3220.cc: New test.
2022-06-13 16:39:07 +01:00
Thomas W Rodgers
7c21556daf
libstdc++: Make atomic notify_one and notify_all non-const
...
<recording this here for future reference>
PR102994 "atomics: std::atomic<ptr>::wait is not marked const" raises the
issue that the current libstdc++ implementation marks the notify members
const, the implementation strategy used by libstdc++, as well as libc++
and the Microsoft STL, do not require the atomic to be mutable (it is hard
to conceive of a desirable implementation approach that would require it).
The original paper proposing the wait/notify functionality for atomics
(p1185) also had these members marked const for the first three revisions,
but that was changed without explanation in r3 and subsequent revisions of
the paper.
After raising the issue to the authors of p1185 and the author of the
libc++ implementation, the consensus seems to be "meh, it's harmless" so
there seems little appetite for an LWG issue to revisit the subject.
This patch changes the libstdc++ implementation to be in agreement with
the standard by removing const from those notify_one/notify_all members.
libstdc++-v3/ChangeLog:
PR libstdc++/102994
* include/bits/atomic_base.h (atomic_flag::notify_one,
notify_all): Remove const qualification.
(__atomic_base::notify_one, notify_all): Likewise.
* include/std/atomic (atomic<bool>::notify_one, notify_all):
Likewise.
(atomic::notify_one, notify_all): Likewise.
(atomic<T*>::notify_one, notify_all): Likewise.
(atomic_notify_one, atomic_notify_all): Likewise.
* testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test
to account for change in notify_one/notify_all signature.
2022-04-22 15:53:41 -07:00
Jonathan Wakely
b02247346e
libstdc++: Fix test failures at -O0
...
libstdc++-v3/ChangeLog:
* testsuite/20_util/monotonic_buffer_resource/allocate.cc:
Ignore -Walloc-larger-than warning.
* testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
Likewise.
* testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1
to avoid linker error for __atomic_is_lock_free.
2022-02-11 21:41:43 +00:00
Jakub Jelinek
7adcbafe45
Update copyright years.
2022-01-03 10:42:10 +01:00
Thomas Rodgers
38c60e5075
libstdc++: Make atomic<T*>::wait() const [PR102994]
...
This was an oversight in the original commit adding wait/notify
to atomic<T>.
libstdc++-v3/ChangeLog:
PR libstdc++/102994
* include/bits/atomic_base.h (__atomic_base<_PTp*>::wait()):
Add const qualifier.
* include/std/atomic (atomic<_Tp*>::wait(), atomic_wait()):
Likewise.
* testsuite/29_atomics/atomic/wait_notify/102994.cc:
New test.
2021-12-09 17:57:03 -08:00
Jonathan Wakely
5c6759e416
libstdc++: Replace TR1 components with C++11 ones in test utils
...
Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:
* testsuite/util/testsuite_common_types.h: Replace uses of
tr1::unordered_map and tr1::unordered_set with their C++11
equivalents.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust
dg-error line number.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
Likewise.
2021-08-03 15:40:42 +01:00
Thomas Rodgers
346cbaf578
libstdc++: Fix wrong thread waking on notify [PR100334]
...
Fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100334
libstdc++-v3/ChangeLog:
* include/bits/atomic_wait.h (__waiter::_M_do_wait_v): loop
until value change observed.
(__waiter_base::_M_laundered): New member.
(__waiter_base::_M_notify): Check _M_laundered to determine
whether to wake one or all.
(__detail::__atomic_compare): Return true if call to
__builtin_memcmp() == 0.
(__waiter_base::_S_do_spin_v): Adjust predicate.
* testsuite/29_atomics/atomic/wait_notify/100334.cc: New
test.
2021-05-17 12:05:06 -07:00
Jonathan Wakely
9cd88c022f
libstdc++: Remove redundant -std=gnu++17 option from concurrency tests
...
GCC defaults to -std=gnu++17 now anyway, and using it explicitly in the
dg-options directive prevents running these tests with different modes
such as -std=c++17 or -std=gnu++20.
libstdc++-v3/ChangeLog:
* testsuite/29_atomics/atomic/69769.cc: Remove -std=gnu++17 from
dg-options.
* testsuite/29_atomics/atomic/is_always_lock_free.cc:
* testsuite/29_atomics/atomic/requirements/typedefs.cc:
* testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
* testsuite/29_atomics/atomic_integral/requirements/typedefs.cc:
* testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
* testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
* testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
* testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
Likewise.
* testsuite/30_threads/shared_lock/70766.cc: Likewise.
* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
Likewise.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
2021-05-10 16:22:53 +01:00
Thomas Rodgers
b52aef3a8c
libstdc++: Refactor/cleanup of C++20 atomic wait implementation
...
This is a substantial rewrite of the atomic wait/notify (and timed wait
counterparts) implementation.
The previous __platform_wait looped on EINTR however this behavior is
not required by the standard. A new _GLIBCXX_HAVE_PLATFORM_WAIT macro
now controls whether wait/notify are implemented using a platform
specific primitive or with a platform agnostic mutex/condvar. This
patch only supplies a definition for linux futexes. A future update
could add support __ulock_wait/wake on Darwin, for instance.
The members of __waiters were lifted to a new base class. The members
are now arranged such that overall sizeof(__waiter_pool_base) fits in
two cache lines (on platforms with at least 64 byte cache lines). The
definition will also use destructive_interference_size for this if it is
available.
The __waiters type is now specific to untimed waits, and is renamed to
__waiter_pool. Timed waits have a corresponding __timed_waiter_pool
type. Much of the code has been moved from the previous __atomic_wait()
free function to the __waiter_base template and a __waiter derived type
is provided to implement the un-timed wait operations. A similar change
has been made to the timed wait implementation.
The __atomic_spin code has been extended to take a spin policy which is
invoked after the initial busy wait loop. The default policy is to
return from the spin. The timed wait code adds a timed backoff spinning
policy. The code from <thread> which implements this_thread::sleep_for,
sleep_until has been moved to a new <bits/std_thread_sleep.h> header
which allows the thread sleep code to be consumed without pulling in the
whole of <thread>.
The entry points into the wait/notify code have been restructured to
support either -
* Testing the current value of the atomic stored at the given address
and waiting on a notification.
* Applying a predicate to determine if the wait was satisfied.
The entry points were renamed to make it clear that the wait and wake
operations operate on addresses. The first variant takes the expected
value and a function which returns the current value that should be used
in comparison operations, these operations are named with a _v suffix
(e.g. 'value'). All atomic<_Tp> wait/notify operations use the first
variant. Barriers, latches and semaphores use the predicate variant.
This change also centralizes what it means to compare values for the
purposes of atomic<T>::wait rather than scattering through individual
predicates.
This change also centralizes the repetitive code which adjusts for
different user supplied clocks (this should be moved elsewhere
and all such adjustments should use a common implementation).
This change also removes the hashing of the pointer and uses
the pointer value directly for indexing into the waiters table.
libstdc++-v3/ChangeLog:
* include/Makefile.am: Add new <bits/this_thread_sleep.h> header.
* include/Makefile.in: Regenerate.
* include/bits/this_thread_sleep.h: New file.
* include/bits/atomic_base.h: Adjust all calls
to __atomic_wait/__atomic_notify for new call signatures.
* include/bits/atomic_timed_wait.h: Extensive rewrite.
* include/bits/atomic_wait.h: Likewise.
* include/bits/semaphore_base.h: Adjust all calls
to __atomic_wait/__atomic_notify for new call signatures.
* include/std/atomic: Likewise.
* include/std/barrier: Likewise.
* include/std/latch: Likewise.
* include/std/semaphore: Likewise.
* include/std/thread (this_thread::sleep_for)
(this_thread::sleep_until): Move to new header.
* testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify
test.
* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
* testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
* testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
* testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
2021-04-20 15:14:58 +01:00
John David Anglin
71dc5ae574
Add options to link with libatomic in various tests.
...
libstdc++-v3/ChangeLog:
* testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to
link with libatomic.
* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
* testsuite/30_threads/barrier/arrive.cc: Likewise.
* testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
* testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
* testsuite/30_threads/barrier/completion.cc: Likewise.
* testsuite/30_threads/latch/3.cc: Likewise.
* testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
* testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
* testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
2021-03-10 16:01:12 +00:00
Jakub Jelinek
99dee82307
Update copyright years.
2021-01-04 10:26:59 +01:00
Thomas Rodgers
6591e42269
Add feature test macro for atomic<T>::wait
...
Adds __cpp_lib_atomic_wait feature test macro which was overlooked in
the initial commit of this feature. Replaces uses of
_GLIBCXX_HAVE_ATOMIC_WAIT.
libstdc++-v3/ChangeLog:
* include/bits/atomic_base.h: Replace usage of
_GLIBCXX_HAVE_ATOMIC_WAIT with __cpp_lib_atomic_wait.
* include/bits/atomic_timed_wait.h: Likewise.
* include/bits/atomic_wait.h: Define __cpp_lib_atomic_wait
feature test macro.
* include/bits/semaphore_base.h: Replace usage of
_GLIBCXX_HAVE_ATOMIC_WAIT with __cpp_lib_atomic_wait.
* include/std/atomic: Likewise.
* include/std/latch: Likewise.
* include/std/semaphore: Likewise.
* include/std/version: Define __cpp_lib_atomic wait
feature test macro and replace usage of
_GLIBCXX_HAVE_ATOMIC_WAIT.
* testsuite/29_atomics/atomic/wait_notify/1.cc: New test.
* testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
2020-12-01 15:43:17 -08:00
Jonathan Wakely
10522ed108
libstdc++: Fix some more deadlocks in tests [PR 97936]
...
The missed notifications fixed in r11-5383 also happen in some other
tests which have similar code.
libstdc++-v3/ChangeLog:
PR libstdc++/97936
* testsuite/29_atomics/atomic/wait_notify/bool.cc: Fix missed
notifications by making the new thread wait until the parent
thread is waiting on the condition variable.
* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
* testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
2020-11-26 16:15:52 +00:00
Jonathan Wakely
f76cad692a
libstdc++: Fix testsuite helper functions [PR 97936]
...
This fixes a race condition in the util/atomic/wait_notify_util.h header
used by several tests, which should make the tests work properly.
libstdc++-v3/ChangeLog:
PR libstdc++/97936
* testsuite/29_atomics/atomic/wait_notify/bool.cc: Re-eneable
test.
* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
* testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
* testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
* testsuite/util/atomic/wait_notify_util.h: Fix missed
notifications by making the new thread wait until the parent
thread is waiting on the condition variable.
2020-11-25 18:24:12 +00:00
Jonathan Wakely
62d19588b9
libstdc++: Fix atomic waiting for non-linux targets
...
This fixes some UNRESOLVED tests on (at least) Solaris and Darwin, and
disables some tests that hang forever on Solaris. A proper fix is still
needed.
libstdc++-v3/ChangeLog:
* include/bits/atomic_base.h (atomic_flag::wait): Use correct
type for __atomic_wait call.
* include/bits/atomic_timed_wait.h (__atomic_wait_until): Check
_GLIBCXX_HAVE_LINUX_FUTEX.
* include/bits/atomic_wait.h (__atomic_notify): Likewise.
* include/bits/semaphore_base.h (_GLIBCXX_HAVE_POSIX_SEMAPHORE):
Only define if SEM_VALUE_MAX or _POSIX_SEM_VALUE_MAX is defined.
* testsuite/29_atomics/atomic/wait_notify/bool.cc: Disable on
non-linux targes.
* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
* testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
2020-11-21 17:50:13 +00:00
Thomas Rodgers
83a1beee27
libstdc++: Add C++2a synchronization support
...
Add support for -
* atomic_flag::wait/notify_one/notify_all
* atomic::wait/notify_one/notify_all
* counting_semaphore
* binary_semaphore
* latch
libstdc++-v3/ChangeLog:
* include/Makefile.am (bits_headers): Add new header.
* include/Makefile.in: Regenerate.
* include/bits/atomic_base.h (__atomic_flag::wait): Define.
(__atomic_flag::notify_one): Likewise.
(__atomic_flag::notify_all): Likewise.
(__atomic_base<_Itp>::wait): Likewise.
(__atomic_base<_Itp>::notify_one): Likewise.
(__atomic_base<_Itp>::notify_all): Likewise.
(__atomic_base<_Ptp*>::wait): Likewise.
(__atomic_base<_Ptp*>::notify_one): Likewise.
(__atomic_base<_Ptp*>::notify_all): Likewise.
(__atomic_impl::wait): Likewise.
(__atomic_impl::notify_one): Likewise.
(__atomic_impl::notify_all): Likewise.
(__atomic_float<_Fp>::wait): Likewise.
(__atomic_float<_Fp>::notify_one): Likewise.
(__atomic_float<_Fp>::notify_all): Likewise.
(__atomic_ref<_Tp>::wait): Likewise.
(__atomic_ref<_Tp>::notify_one): Likewise.
(__atomic_ref<_Tp>::notify_all): Likewise.
(atomic_wait<_Tp>): Likewise.
(atomic_wait_explicit<_Tp>): Likewise.
(atomic_notify_one<_Tp>): Likewise.
(atomic_notify_all<_Tp>): Likewise.
* include/bits/atomic_wait.h: New file.
* include/bits/atomic_timed_wait.h: New file.
* include/bits/semaphore_base.h: New file.
* include/std/atomic (atomic<bool>::wait): Define.
(atomic<bool>::wait_one): Likewise.
(atomic<bool>::wait_all): Likewise.
(atomic<_Tp>::wait): Likewise.
(atomic<_Tp>::wait_one): Likewise.
(atomic<_Tp>::wait_all): Likewise.
(atomic<_Tp*>::wait): Likewise.
(atomic<_Tp*>::wait_one): Likewise.
(atomic<_Tp*>::wait_all): Likewise.
* include/std/latch: New file.
* include/std/semaphore: New file.
* include/std/version: Add __cpp_lib_semaphore and
__cpp_lib_latch defines.
* testsuite/29_atomics/atomic/wait_notify/bool.cc: New test.
* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
* testsuite/29_atomics/atomic/wait_notify/generic.cc: Liekwise.
* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
* testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
* testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
* testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
* testsuite/30_threads/semaphore/1.cc: New test.
* testsuite/30_threads/semaphore/2.cc: Likewise.
* testsuite/30_threads/semaphore/least_max_value_neg.cc: Likewise.
* testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
* testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
* testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.
* testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
* testsuite/30_threads/latch/1.cc: New test.
* testsuite/30_threads/latch/2.cc: New test.
* testsuite/30_threads/latch/3.cc: New test.
* testsuite/util/atomic/wait_notify_util.h: New File.
2020-11-20 14:40:18 -08:00
Jonathan Wakely
6458742a15
libstdc++: Ensure c++NN effective target present in all C++17 tests
...
Also reorder some directives so that the dg-options setting -std=gnu++17
comes before the dg-do that requires c++17.
libstdc++-v3/ChangeLog:
* testsuite/17_intro/headers/c++2017/all_attributes.cc: Add
c++17 effective-target.
* testsuite/17_intro/headers/c++2017/all_no_exceptions.cc:
Likewise.
* testsuite/17_intro/headers/c++2017/all_no_rtti.cc: Likewise.
* testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc:
Likewise.
* testsuite/17_intro/headers/c++2017/operator_names.cc:
Likewise.
* testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise.
* testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
Likewise.
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
Likewise.
* testsuite/19_diagnostics/error_code/is_error_code_v.cc:
Likewise.
* testsuite/20_util/any/assign/1.cc: Likewise.
* testsuite/20_util/any/assign/2.cc: Likewise.
* testsuite/20_util/any/assign/emplace.cc: Likewise.
* testsuite/20_util/any/assign/exception.cc: Likewise.
* testsuite/20_util/any/assign/self.cc: Likewise.
* testsuite/20_util/any/cons/1.cc: Likewise.
* testsuite/20_util/any/cons/2.cc: Likewise.
* testsuite/20_util/any/cons/aligned.cc: Likewise.
* testsuite/20_util/any/cons/explicit.cc: Likewise.
* testsuite/20_util/any/cons/in_place.cc: Likewise.
* testsuite/20_util/any/cons/nontrivial.cc: Likewise.
* testsuite/20_util/any/make_any.cc: Likewise.
* testsuite/20_util/any/misc/any_cast.cc: Likewise.
* testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
* testsuite/20_util/any/misc/swap.cc: Likewise.
* testsuite/20_util/any/modifiers/1.cc: Likewise.
* testsuite/20_util/any/observers/type.cc: Likewise.
* testsuite/20_util/any/requirements.cc: Likewise.
* testsuite/20_util/any/typedefs.cc: Likewise.
* testsuite/20_util/as_const/1.cc: Likewise.
* testsuite/20_util/as_const/rvalue_neg.cc: Likewise.
* testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
* testsuite/20_util/bool_constant/requirements.cc: Likewise.
* testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
Likewise.
* testsuite/20_util/duration_cast/rounding.cc: Likewise.
* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
Likewise.
* testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
* testsuite/20_util/function_objects/not_fn/1.cc: Likewise.
* testsuite/20_util/function_objects/searchers.cc: Likewise.
* testsuite/20_util/in_place/requirements.cc: Likewise.
* testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_invocable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_invocable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_nothrow_swappable_with/value.cc:
Likewise.
* testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_swappable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_swappable/value.cc: Likewise.
* testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_swappable_with/value.cc: Likewise.
* testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/logical_traits/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/logical_traits/value.cc: Likewise.
* testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
* testsuite/20_util/optional/hash.cc: Likewise.
* testsuite/20_util/pair/swap_cxx17.cc: Likewise.
* testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/weak_type.cc:
Likewise.
* testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
Likewise.
* testsuite/20_util/tuple/apply/1.cc: Likewise.
* testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
* testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
* testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
* testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
Likewise.
* testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
Likewise.
* testsuite/20_util/variant/any.cc: Likewise.
* testsuite/20_util/variant/compile.cc: Likewise.
* testsuite/20_util/variant/hash.cc: Likewise.
* testsuite/20_util/variant/index_type.cc: Likewise.
* testsuite/20_util/variant/run.cc: Likewise.
* testsuite/20_util/void_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/79162.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
* testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
* testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/data/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string_view/include.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
Likewise.
* testsuite/21_strings/basic_string_view/literals/types.cc:
Likewise.
* testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
Likewise.
* testsuite/21_strings/basic_string_view/literals/values.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
Likewise.
* 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/operations/compare/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
Likewise.
* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
* testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
Likewise.
* testsuite/23_containers/map/modifiers/extract.cc: Likewise.
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
Likewise.
* testsuite/23_containers/map/modifiers/merge.cc: Likewise.
* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
* testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
* testsuite/23_containers/multimap/modifiers/merge.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/merge.cc: Likewise.
* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
* testsuite/23_containers/set/modifiers/merge.cc: Likewise.
* testsuite/23_containers/unordered_map/modifiers/extract.cc:
Likewise.
* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
Likewise.
* testsuite/23_containers/unordered_map/modifiers/merge.cc:
Likewise.
* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/modifiers/merge.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/modifiers/merge.cc:
Likewise.
* testsuite/23_containers/unordered_set/modifiers/extract.cc:
Likewise.
* testsuite/23_containers/unordered_set/modifiers/merge.cc:
Likewise.
* testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
Likewise.
* testsuite/24_iterators/headers/iterator/synopsis_c++17.cc:
Likewise.
* testsuite/25_algorithms/clamp/1.cc: Likewise.
* testsuite/25_algorithms/clamp/2.cc: Likewise.
* testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc:
Likewise.
* testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
Likewise.
* testsuite/26_numerics/headers/cmath/special_functions_global.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc:
Likewise.
* testsuite/29_atomics/atomic/is_always_lock_free.cc: Likewise.
* testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
Likewise.
* testsuite/30_threads/shared_lock/70766.cc: Likewise.
* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/shared_mutex/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
Likewise.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
2020-07-31 19:58:02 +01:00
Jonathan Wakely
cc799df98f
libstdc++: Enforce copyable/movable checks in std::atomic
...
C++20 adds some new preconditions to std::atomic, which weren't
previously checked by our implementation.
* include/std/atomic (atomic): Add static assertions.
* testsuite/29_atomics/atomic/requirements/types_neg.cc: New test.
2020-06-16 22:34:55 +01:00
Jonathan Wakely
e4379a931d
libstdc++: Value-initialize std::atomic for C++20 (P0883R2)
...
This implements the new requirements for C++20 that std::atomic should
initialize the atomic variable in its default constructor.
This patch does not add the deprecated attribute to atomic_init, but
that should be done at some point as it's deprecated in C++20.
The paper also deprecates the ATOMIC_FLAG_INIT macro, although we can't
apply the deprecated attribute to a macro.
PR libstdc++/58605
* include/bits/atomic_base.h (__cpp_lib_atomic_value_initialization):
Define.
(__atomic_flag_base, __atomic_base, __atomic_base<_PTp*>)
(__atomic_float): Add default member initializer for C++20.
* include/std/atomic (atomic): Likewise.
(atomic::atomic()): Remove noexcept-specifier on default constructor.
* include/std/version (__cpp_lib_atomic_value_initialization): Define.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line
number.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic/cons/value_init.cc: New test.
* testsuite/29_atomics/atomic_flag/cons/value_init.cc: New test.
* testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Adjust
expected result for is_trivially_default_constructible.
* testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
* testsuite/29_atomics/atomic_float/value_init.cc: New test.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/value_init.cc
* testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Adjust
expected results for is_trivially_default_constructible.
* testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add
new test generator.
2020-01-13 13:22:28 +00:00
Jakub Jelinek
8d9254fc8a
Update copyright years.
...
From-SVN: r279813
2020-01-01 12:51:42 +01:00
Jonathan Wakely
a90fe12c80
Define std::atomic_ref and std::atomic<floating-point> for C++20
...
This adds the new atomic types from C++2a, as proposed by P0019 and
P0020. To reduce duplication the calls to the compiler's atomic
built-ins are wrapped in new functions in the __atomic_impl namespace.
These functions are currently only used by std::atomic<floating-point>
and std::atomic_ref but could also be used for all other specializations
of std::atomic.
* include/bits/atomic_base.h (__atomic_impl): New namespace for
wrappers around atomic built-ins.
(__atomic_float, __atomic_ref): New class templates for use as base
classes.
* include/std/atomic (atomic<float>, atomic<double>)
(atomic<long double>): New explicit specializations.
(atomic_ref): New class template.
(__cpp_lib_atomic_ref): Define.
* include/std/version (__cpp_lib_atomic_ref): Define.
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error.
* testsuite/29_atomics/atomic_float/1.cc: New test.
* testsuite/29_atomics/atomic_float/requirements.cc: New test.
* testsuite/29_atomics/atomic_ref/deduction.cc: New test.
* testsuite/29_atomics/atomic_ref/float.cc: New test.
* testsuite/29_atomics/atomic_ref/generic.cc: New test.
* testsuite/29_atomics/atomic_ref/integral.cc: New test.
* testsuite/29_atomics/atomic_ref/pointer.cc: New test.
* testsuite/29_atomics/atomic_ref/requirements.cc: New test.
From-SVN: r273420
2019-07-11 20:43:25 +01:00
Tom Honermann
59019b4223
P0482R5 char8_t: Updates to existing standard library tests
...
This patch augments existing tests to validate behavior for char8_t. In
all cases, added test cases are cloned from existing tests for wchar_t
or char16_t.
A few tests required updates to line numbers for diagnostic messages.
2019-02-22 Tom Honermann <tom@honermann.net>
* testsuite/18_support/byte/ops.cc: Validate
std::to_integer<char8_t>, std::to_integer<char16_t>, and
std::to_integer<char32_t>.
* testsuite/18_support/numeric_limits/dr559.cc: Validate
std::numeric_limits<char8_t>.
* testsuite/18_support/numeric_limits/lowest.cc: Validate
std::numeric_limits<char8_t>::lowest().
* testsuite/18_support/numeric_limits/max_digits10.cc: Validate
std::numeric_limits<char8_t>::max_digits10.
* testsuite/18_support/type_info/fundamental.cc: Validate
typeinfo for char8_t.
* testsuite/20_util/from_chars/1_c++20_neg.cc: New test, validating
std::from_chars with char8_t.
* testsuite/20_util/hash/requirements/explicit_instantiation.cc:
Validate explicit instantiation of std::hash<char8_t>.
* testsuite/20_util/is_integral/value.cc: Validate
std::is_integral<char8_t>.
* testsuite/20_util/make_signed/requirements/typedefs-4.cc:
Validate std::make_signed<char8_t>.
* testsuite/21_strings/basic_string/cons/char/deduction.cc:
Validate u8string construction from char8_t sources.
* testsuite/21_strings/basic_string/types/pmr_typedefs.cc: Validate
std::pmr::u8string.
* testsuite/21_strings/basic_string_view/operations/compare/
char/70483.cc: Validate substr operations on u8string_view.
* testsuite/21_strings/basic_string_view/typedefs.cc: Validate that
the u8string_view typedef is defined.
* testsuite/21_strings/char_traits/requirements/
constexpr_functions.cc: Validate char_traits<char8_t> constexpr
member functions.
* testsuite/21_strings/char_traits/requirements/
constexpr_functions_c++17.cc: Validate char_traits<char8_t> C++17
constexpr member functions.
* testsuite/21_strings/headers/string/types_std_c++0x.cc: Validate
that the u8string typedef is defined.
* testsuite/22_locale/locale/cons/unicode.cc: Validate the presence
of the std::codecvt<char16_t, char8_t, std::mbstate_t> and
std::codecvt<char32_t, char8_t, std::mbstate_t> facets.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Update line
numbers.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
Validate std::atomic<char8_t>::is_always_lock_free
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
Update line numbers.
* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
Likewise.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
Validate std::experimental::pmr::u8string.
* testsuite/experimental/string_view/typedefs.cc: Validate that the
u8string_view typedef is defined.
* testsuite/util/testsuite_common_types.h: Add char8_t, char16_t and
char32_t to the typelists.
From-SVN: r269089
2019-02-22 01:16:08 +00:00
Jakub Jelinek
a554497024
Update copyright years.
...
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Jonathan Wakely
25999a112f
Implement P0558R2 changes to std::atomic
...
The restrictions forbidding arithmetic on atomic pointer types are only
enabled for C++17 and later, retaining the GNU extension for older
standards. The new nested typedefs and changes to prevent scalar
parameters participating in template argument deduction are enabled
unconditionally.
PR libstdc++/69769
PR libstdc++/85886
* include/bits/atomic_base.h (__atomic_base::value_type)
(__atomic_base::difference_type): Add new typedefs.
* include/std/atomic (atomic<bool>::value_type, atomic<T>::value_type)
(atomic<T*>::value_type, atomic<T*>::difference_type): Likewise.
(atomic<T*>::operator++, atomic<T*>::operator--)
(atomic<T*>::operator+=, atomic<T*>::operator-=)
(atomic<T*>::fetch_add, atomic<T*>::fetch_sub): Add static assertion
to enforce C++17 requirement on pointer arithmetic.
(__atomic_val_t, __atomic_diff_t): New alias templates.
(atomic_init, atomic_store_explicit, atomic_exchange_explicit)
(atomic_compare_exchange_weak_explicit)
(atomic_compare_exchange_strong_explicit, atomic_store)
(atomic_exchange, atomic_compare_exchange_weak)
(atomic_compare_exchange_strong): Use __atomic_val_t to make
scalar parameters be non-deduced contexts.
(atomic_fetch_add_explicit, atomic_fetch_sub_explicit)
(atomic_fetch_add, atomic_fetch_sub): Change first parameter to be
atomic instead of __atomic_base, and use __atomic_diff_t for scalar
parameters.
(atomic_fetch_and_explicit, atomic_fetch_or_explicit)
(atomic_fetch_xor_explicit, atomic_fetch_and, atomic_fetch_or)
(atomic_fetch_xor): Use __atomic_val_t for scalar parameters.
(atomic_fetch_add_explicit, atomic_fetch_sub_explicit)
(atomic_fetch_add, atomic_fetch_sub): Remove overloads for atomic
address types.
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
* testsuite/29_atomics/atomic/69769.cc: New test.
* testsuite/29_atomics/atomic/nonmembers.cc: New test.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
Disable test for C++17 and later.
* testsuite/29_atomics/atomic/requirements/typedefs.cc: New test.
* testsuite/29_atomics/atomic_integral/nonmembers.cc: New test.
* testsuite/29_atomics/atomic_integral/requirements/typedefs.cc: New
test.
From-SVN: r260676
2018-05-24 16:28:26 +01:00
Jakub Jelinek
85ec4feb11
Update copyright years.
...
From-SVN: r256169
2018-01-03 11:03:58 +01:00
Thomas Preud'homme
a750159e3b
69301.cc: Require atomic builtins.
...
2017-01-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
libstdc++-v3/
* testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
From-SVN: r244819
2017-01-23 17:18:04 +00:00
Jonathan Wakely
2ae27b7076
PR69301 don't assume atomic<T> can default construct T
...
PR libstdc++/69301
* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
aligned buffer instead of default-initialized variable.
* testsuite/29_atomics/atomic/69301.cc: New test.
* include/experimental/memory (observer_ptr::release): Use reserved
name.
* include/ext/pointer.h (_Pointer_adapter::operator++(int))
(_Pointer_adapter::operator--(int)): Likewise.
From-SVN: r244588
2017-01-18 18:36:45 +00:00
Jakub Jelinek
cbe34bb5ed
Update copyright years.
...
From-SVN: r243994
2017-01-01 13:07:43 +01:00
Paolo Carlini
2437d31d0e
container_access.cc: Remove 'test' variables.
...
2016-10-13 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/24_iterators/container_access.cc: Remove 'test' variables.
* testsuite/24_iterators/istream_iterator/2.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
* testsuite/24_iterators/operations/next.cc: Likewise.
* testsuite/24_iterators/operations/prev.cc: Likewise.
* testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
* testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
* testsuite/24_iterators/range_access_cpp14.cc: Likewise.
* testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
* testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
* testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
* testsuite/25_algorithms/all_of/1.cc: Likewise.
* testsuite/25_algorithms/any_of/1.cc: Likewise.
* testsuite/25_algorithms/binary_search/2.cc: Likewise.
* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
* testsuite/25_algorithms/clamp/1.cc: Likewise.
* testsuite/25_algorithms/clamp/2.cc: Likewise.
* testsuite/25_algorithms/copy/1.cc: Likewise.
* testsuite/25_algorithms/copy/2.cc: Likewise.
* testsuite/25_algorithms/copy/3.cc: Likewise.
* testsuite/25_algorithms/copy/34595.cc: Likewise.
* testsuite/25_algorithms/copy/4.cc: Likewise.
* testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
Likewise.
* testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/2.cc: Likewise.
* testsuite/25_algorithms/copy_n/3.cc: Likewise.
* testsuite/25_algorithms/copy_n/4.cc: Likewise.
* testsuite/25_algorithms/copy_n/50119.cc: Likewise.
* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/equal_range/2.cc: Likewise.
* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
* testsuite/25_algorithms/fill/1.cc: Likewise.
* testsuite/25_algorithms/fill/2.cc: Likewise.
* testsuite/25_algorithms/fill/3.cc: Likewise.
* testsuite/25_algorithms/fill/4.cc: Likewise.
* testsuite/25_algorithms/fill_n/1.cc: Likewise.
* testsuite/25_algorithms/find/39546.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/find_if/1.cc: Likewise.
* testsuite/25_algorithms/find_if_not/1.cc: Likewise.
* testsuite/25_algorithms/for_each/1.cc: Likewise.
* testsuite/25_algorithms/heap/1.cc: Likewise.
* testsuite/25_algorithms/heap/moveable.cc: Likewise.
* testsuite/25_algorithms/heap/moveable2.cc: Likewise.
* testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
* testsuite/25_algorithms/includes/1.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
* testsuite/25_algorithms/is_heap/1.cc: Likewise.
* testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
* testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
* testsuite/25_algorithms/is_permutation/1.cc: Likewise.
* testsuite/25_algorithms/is_permutation/2.cc: Likewise.
* testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
* testsuite/25_algorithms/is_sorted/1.cc: Likewise.
* testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
* testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
* testsuite/25_algorithms/lower_bound/2.cc: Likewise.
* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
* testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/max/1.cc: Likewise.
* testsuite/25_algorithms/max/2.cc: Likewise.
* testsuite/25_algorithms/max/3.cc: Likewise.
* testsuite/25_algorithms/max/37547.cc: Likewise.
* testsuite/25_algorithms/max/4.cc: Likewise.
* testsuite/25_algorithms/min/1.cc: Likewise.
* testsuite/25_algorithms/min/2.cc: Likewise.
* testsuite/25_algorithms/min/3.cc: Likewise.
* testsuite/25_algorithms/min/37547.cc: Likewise.
* testsuite/25_algorithms/min/4.cc: Likewise.
* testsuite/25_algorithms/minmax/1.cc: Likewise.
* testsuite/25_algorithms/minmax/2.cc: Likewise.
* testsuite/25_algorithms/minmax/3.cc: Likewise.
* testsuite/25_algorithms/minmax/37547.cc: Likewise.
* testsuite/25_algorithms/minmax_element/1.cc: Likewise.
* testsuite/25_algorithms/move/1.cc: Likewise.
* testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
* testsuite/25_algorithms/none_of/1.cc: Likewise.
* testsuite/25_algorithms/nth_element/1.cc: Likewise.
* testsuite/25_algorithms/nth_element/2.cc: Likewise.
* testsuite/25_algorithms/nth_element/3.cc: Likewise.
* testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
* testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort/2.cc: Likewise.
* testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
Likewise.
* testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
* testsuite/25_algorithms/partition/1.cc: Likewise.
* testsuite/25_algorithms/partition/moveable.cc: Likewise.
* testsuite/25_algorithms/partition_copy/1.cc: Likewise.
* testsuite/25_algorithms/partition_point/1.cc: Likewise.
* testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
* testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
* testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
* testsuite/25_algorithms/rotate/1.cc: Likewise.
* testsuite/25_algorithms/rotate/moveable.cc: Likewise.
* testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
* testsuite/25_algorithms/rotate/rotate.cc: Likewise.
* testsuite/25_algorithms/search/1.cc: Likewise.
* testsuite/25_algorithms/search_n/58358.cc: Likewise.
* testsuite/25_algorithms/shuffle/1.cc: Likewise.
* testsuite/25_algorithms/sort/1.cc: Likewise.
* testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
* testsuite/25_algorithms/sort/moveable.cc: Likewise.
* testsuite/25_algorithms/sort/random_test.cc: Likewise.
* testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
* testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/stable_partition/1.cc: Likewise.
* testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_sort/2.cc: Likewise.
* testsuite/25_algorithms/stable_sort/3.cc: Likewise.
* testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
* testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
Likewise.
* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
* testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
* testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
* testsuite/25_algorithms/unique/11480.cc: Likewise.
* testsuite/25_algorithms/unique/2.cc: Likewise.
* testsuite/25_algorithms/unique/moveable.cc: Likewise.
* testsuite/25_algorithms/unique_copy/1.cc: Likewise.
* testsuite/25_algorithms/unique_copy/2.cc: Likewise.
* testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
* testsuite/25_algorithms/upper_bound/2.cc: Likewise.
* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_01_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
anymatcher.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_questionmark.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_range.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_01_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
wstring_locale.cc: Likewise.
* testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
Likewise.
* testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
Likewise.
* testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
Likewise.
* testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/extended/
string_range_01_02_03.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
* testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
* testsuite/28_regex/constants/error_type.cc: Likewise.
* testsuite/28_regex/constants/match_flag_type.cc: Likewise.
* testsuite/28_regex/init-list.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/
string_position_01.cc
* testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
Likewise.
* testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
default.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
Likewise.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
default.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
default.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
string_01.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
wstring_02.cc: Likewise.
* testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
* testsuite/28_regex/match_results/format.cc: Likewise.
* testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
* testsuite/28_regex/match_results/swap.cc: Likewise.
* testsuite/28_regex/match_results/typedefs.cc: Likewise.
* testsuite/28_regex/regex_error/regex_error.cc: Likewise.
* testsuite/28_regex/regression.cc: Likewise.
* testsuite/28_regex/sub_match/cast_char.cc: Likewise.
* testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
* testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
* testsuite/28_regex/sub_match/length.cc: Likewise.
* testsuite/28_regex/traits/char/ctor.cc: Likewise.
* testsuite/28_regex/traits/char/isctype.cc: Likewise.
* testsuite/28_regex/traits/char/length.cc: Likewise.
* testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
* testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
* testsuite/28_regex/traits/char/transform.cc: Likewise.
* testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
* testsuite/28_regex/traits/char/translate.cc: Likewise.
* testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
* testsuite/28_regex/traits/char/user_defined.cc: Likewise.
* testsuite/28_regex/traits/char/value.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
* testsuite/29_atomics/atomic/60658.cc: Likewise.
* testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
* testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
* testsuite/backward/11460.cc: Likewise.
* testsuite/backward/hash_map/1.cc: Likewise.
* testsuite/backward/hash_map/25896.cc: Likewise.
* testsuite/backward/hash_set/1.cc: Likewise.
* testsuite/backward/hash_set/25896.cc: Likewise.
* testsuite/decimal/binary-arith.cc: Likewise.
* testsuite/decimal/comparison.cc: Likewise.
* testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
* testsuite/decimal/compound-assignment.cc: Likewise.
* testsuite/decimal/conversion-from-float.cc: Likewise.
* testsuite/decimal/conversion-from-integral.cc: Likewise.
* testsuite/decimal/conversion-to-generic-float.cc: Likewise.
* testsuite/decimal/conversion-to-integral.cc: Likewise.
* testsuite/decimal/ctor.cc: Likewise.
* testsuite/decimal/incdec-memfunc.cc: Likewise.
* testsuite/decimal/incdec.cc: Likewise.
* testsuite/decimal/make-decimal.cc: Likewise.
* testsuite/decimal/pr54036-1.cc: Likewise.
* testsuite/decimal/pr54036-2.cc: Likewise.
* testsuite/decimal/pr54036-3.cc: Likewise.
* testsuite/decimal/unary-arith.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_value.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/02_assoc_legendre/check_value.cc:
Likewise.
* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
* testsuite/special_functions/03_beta/check_value.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
* testsuite/special_functions/14_expint/check_value.cc: Likewise.
* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
* testsuite/special_functions/15_hermite/check_value.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/17_legendre/check_value.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
* testsuite/tr2/bases/value.cc: Likewise.
* testsuite/tr2/direct_bases/value.cc: Likewise.
* testsuite/util/debug/checks.h: Likewise.
* testsuite/util/debug/unordered_checks.h: Likewise.
* testsuite/util/testsuite_allocator.h: Likewise.
* testsuite/util/testsuite_api.h: Likewise.
* testsuite/util/testsuite_common_types.h: Likewise.
* testsuite/util/testsuite_random.h: Likewise.
* testsuite/util/testsuite_rvalref.h: Likewise.
From-SVN: r241138
2016-10-13 19:37:45 +00:00
Jonathan Wakely
432b6d9572
Make test helper work with non-copyable types
...
* testsuite/util/testsuite_common_types.h
(bitwise_assignment_operators): Use direct-initialization for C++11
and later, to avoid CopyConstructible requirement.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
line numbers.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
Adjust expected errors and line numbers.
From-SVN: r241047
2016-10-12 14:30:49 +01:00
Matthew Wahab
684211e11b
[libstdc++-v3] Fix dg-require before dg-run directives in testsuite.
...
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
Move dg-do directive before dg-require.
* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
Likewise.
* testsuite/22_locale/codecvt/utf8.cc: Likewise.
* testsuite/22_locale/locale/cons/unicode.cc: Likewise.
* testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
* testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
* testsuite/23_containers/forward_list/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after3_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after4_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after5_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after6_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after7_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after8_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after9_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/insert_after1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/insert_after2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/insert_after3_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after3_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after4_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after5_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after6_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after7_neg.cc: Likewise.
* testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
* testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
* testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
* testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
* testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/map/debug/60499.cc: Likewise.
* testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/60499.cc: Likewise.
* testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/60499.cc: Likewise.
* testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/set/debug/60499.cc: Likewise.
* testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/60499.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/vector/debug/52433.cc: Likewise.
* testsuite/23_containers/vector/debug/60499.cc: Likewise.
* testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
* testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
* testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
* testsuite/29_atomics/atomic/60658.cc: Likewise.
* testsuite/29_atomics/atomic/60695.cc: Likewise.
* testsuite/29_atomics/atomic/62259.cc: Likewise.
* testsuite/29_atomics/atomic/64658.cc: Likewise.
* testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
* testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Likewise.
From-SVN: r240090
2016-09-12 09:03:50 +00:00
Jonathan Wakely
52066eae5d
Use effective-target instead of -std options
...
* testsuite/*: Use { target c++11 } or { target c++14 } instead of
using -std in dg-options.
From-SVN: r239777
2016-08-26 12:41:37 +01:00
Jonathan Wakely
387edf83a0
Define std::atomic<T>::is_always_lock_free for C++17
...
* include/std/atomic (atomic::is_always_lock_free): Define.
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
* testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
* testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
* doc/xml/manual/status_cxx2017.xml: Update status.
* doc/html/*: Regenerate.
From-SVN: r239622
2016-08-19 16:42:27 +01:00
Thomas Preud'homme
72fb6bae83
65913.cc: Require atomic-builtins rather than specific target.
...
2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
libstdc++-v3/
* testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
than specific target.
From-SVN: r237879
2016-06-30 14:17:47 +00:00
Jonathan Wakely
9f9eb84eac
libstdc++/70766 use std::addressof instead of operator&
...
PR libstdc++/70766
* include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
__addressof.
* include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
Likewise.
* include/std/atomic (atomic<_Tp>): Likewise.
* include/std/shared_mutex (shared_lock): Likewise.
* testsuite/24_iterators/istream_iterator/70766.cc: New test.
* testsuite/24_iterators/ostream_iterator/70766.cc : New test.
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
* testsuite/29_atomics/atomic/70766.cc: New test.
* testsuite/30_threads/shared_lock/70766.cc: New test.
From-SVN: r235565
2016-04-28 13:33:07 +01:00
Jonathan Wakely
4ed6e52446
Make use of extensions more explicit in libstdc++ tests
...
* testsuite/18_support/bad_exception/23591_thread-1.c: Add
-Wno-pedantic to dg-options.
* testsuite/20_util/align/2.cc: Use type as operand of alignof.
* testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
to dg-options.
* testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
Remove extra semi-colon.
* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
Always supply second argument to static_assert.
* testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
semi-colon.
* testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
dg-options.
* testsuite/26_numerics/complex/literals/values.cc: Likewise.
* testsuite/29_atomics/atomic/60695.cc: Likewise.
* testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
alignof when operand is an object not a type.
* testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
* testsuite/decimal/make-decimal.cc: Likewise.
* testsuite/experimental/type_traits/value.cc: Always supply second
argument to static_assert.
* testsuite/util/testsuite_common_types.h: Use __extension__ for
__int128 types.
From-SVN: r235154
2016-04-18 16:44:25 +01:00