diff options
Diffstat (limited to 'test/libcxx/atomics/atomics.flag/init_bool.pass.cpp')
-rw-r--r-- | test/libcxx/atomics/atomics.flag/init_bool.pass.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/libcxx/atomics/atomics.flag/init_bool.pass.cpp b/test/libcxx/atomics/atomics.flag/init_bool.pass.cpp index d7b172cd1212d..9dd68bd4e459f 100644 --- a/test/libcxx/atomics/atomics.flag/init_bool.pass.cpp +++ b/test/libcxx/atomics/atomics.flag/init_bool.pass.cpp @@ -18,8 +18,21 @@ #include <atomic> #include <cassert> +#include "test_macros.h" + +#if TEST_STD_VER >= 11 +// Ensure that static initialization happens; this is PR#37226 +extern std::atomic_flag global; +struct X { X() { global.test_and_set(); }}; +X x; +std::atomic_flag global = ATOMIC_FLAG_INIT; +#endif + int main() { +#if TEST_STD_VER >= 11 + assert(global.test_and_set() == 1); +#endif { std::atomic_flag f(false); assert(f.test_and_set() == 0); |