gcc/libstdc++-v3/testsuite
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
..
17_intro Fix failing tests for use of non-reserved names 2019-05-20 15:38:21 +01:00
18_support Define C11 macros such as FLT_DECIMAL_DIG for C++17 2019-06-24 13:09:47 +01:00
19_diagnostics Add test for std::hash<std::error_code> 2019-05-07 16:30:29 +01:00
20_util Define std::chars_format enumeration type 2019-06-26 23:54:38 +01:00
21_strings Replace std::to_string for integers with optimized version 2019-06-12 15:52:02 +01:00
22_locale P0482R5 char8_t: Updates to existing standard library tests 2019-02-22 01:16:08 +00:00
23_containers Fix tests that fail without PCH 2019-06-17 09:18:17 +01:00
24_iterators Fix non-standard behaviour of std::istream_iterator 2019-06-19 23:57:10 +01:00
25_algorithms PR libstdc++/90920 restore previous checks for empty ranges 2019-06-19 23:57:02 +01:00
26_numerics Add new helper traits for signed/unsigned integer types 2019-06-26 15:38:23 +01:00
27_io PR libstdc++/91067 fix missing exports for filesystem iterators 2019-07-03 22:06:25 +01:00
28_regex PR libstdc++/89023 fix test that fails when <omp.h> not available 2019-02-11 12:56:59 +00:00
29_atomics Define std::atomic_ref and std::atomic<floating-point> for C++20 2019-07-11 20:43:25 +01:00
30_threads LWG 2921 remove packaged_task constructors taking allocators 2019-05-23 22:40:56 +01:00
abi Update copyright years. 2019-01-01 13:31:55 +01:00
backward Update copyright years. 2019-01-01 13:31:55 +01:00
config Update copyright years. 2019-01-01 13:31:55 +01:00
data
decimal Update copyright years. 2019-01-01 13:31:55 +01:00
experimental PR libstdc++/90281 Fix string conversions for filesystem::path 2019-06-17 15:19:04 +01:00
ext Fix tests that fail with -std=gnu++98 or -std=gnu++11 2019-06-06 13:13:42 +01:00
lib PR libstdc++/90252 fix effective-target check for TBB 2019-05-21 14:50:41 +01:00
libstdc++-abi Update copyright years. 2019-01-01 13:31:55 +01:00
libstdc++-dg Update copyright years. 2019-01-01 13:31:55 +01:00
libstdc++-prettyprinters Improve tests for std::vector<bool> printer 2019-06-20 10:04:55 +01:00
libstdc++-xmethods Update copyright years. 2019-01-01 13:31:55 +01:00
performance Update copyright years. 2019-01-01 13:31:55 +01:00
special_functions PR libstdc++/86655 - std::assoc_legendre should not constrain 2019-03-06 13:38:32 +00:00
tr1 PR libstdc++/86655 - std::assoc_legendre should not constrain 2019-03-06 13:38:32 +00:00
tr2 Update copyright years. 2019-01-01 13:31:55 +01:00
util PR libstdc++/91067 fix missing exports for filesystem iterators 2019-07-03 22:06:25 +01:00
Makefile.am Remove Profile Mode, deprecated since GCC 7.1 2019-05-13 11:50:21 +01:00
Makefile.in Remove Profile Mode, deprecated since GCC 7.1 2019-05-13 11:50:21 +01:00