Skip to content

Commit

Permalink
<barrier>: Declare victory! (#3455)
Browse files Browse the repository at this point in the history
Co-authored-by: Jakub Mazurkiewicz <[email protected]>
Co-authored-by: Casey Carter <[email protected]>
Co-authored-by: Stephan T. Lavavej <[email protected]>
  • Loading branch information
4 people authored Feb 14, 2023
1 parent 1763113 commit 6b2fef2
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 4 deletions.
3 changes: 2 additions & 1 deletion stl/inc/yvals_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,7 @@
// P2432R1 Fix istream_view
// P2508R1 basic_format_string, format_string, wformat_string
// P2520R0 move_iterator<T*> Should Be A Random-Access Iterator
// P2588R3 barrier's Phase Completion Guarantees
// P2711R1 Making Multi-Param Constructors Of Views explicit

// _HAS_CXX20 indirectly controls:
Expand Down Expand Up @@ -1587,7 +1588,7 @@ _EMIT_STL_ERROR(STL1004, "C++98 unexpected() is incompatible with C++23 unexpect
#define __cpp_lib_atomic_ref 201806L
#define __cpp_lib_atomic_shared_ptr 201711L
#define __cpp_lib_atomic_wait 201907L
#define __cpp_lib_barrier 201907L
#define __cpp_lib_barrier 202302L
#define __cpp_lib_bind_front 201907L
#define __cpp_lib_bit_cast 201806L
#define __cpp_lib_bitops 201907L
Expand Down
3 changes: 3 additions & 0 deletions tests/libcxx/expected_results.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ std/utilities/charconv/charconv.to.chars/integral.pass.cpp FAIL
# libc++ has not implemented P2505R5: "Monadic Functions for std::expected"
std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp FAIL

# libc++ doesn't implement P2588R3 barrier's Phase Completion Guarantees
std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp FAIL

# libc++ doesn't implement P2711R1 Making Multi-Param Constructors Of Views explicit
std/ranges/range.adaptors/range.drop.while/ctor.view.pass.cpp FAIL
std/ranges/range.adaptors/range.filter/ctor.view_pred.pass.cpp FAIL
Expand Down
3 changes: 3 additions & 0 deletions tests/libcxx/skipped_tests.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ utilities\charconv\charconv.to.chars\integral.pass.cpp
# libc++ has not implemented P2505R5: "Monadic Functions for std::expected"
language.support\support.limits\support.limits.general\expected.version.compile.pass.cpp

# libc++ doesn't implement P2588R3 barrier's Phase Completion Guarantees
language.support\support.limits\support.limits.general\barrier.version.compile.pass.cpp

# libc++ doesn't implement P2711R1 Making Multi-Param Constructors Of Views explicit
ranges\range.adaptors\range.drop.while\ctor.view.pass.cpp
ranges\range.adaptors\range.filter\ctor.view_pred.pass.cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -261,10 +261,10 @@ STATIC_ASSERT(__cpp_lib_atomic_wait == 201907L);
#if _HAS_CXX20
#ifndef __cpp_lib_barrier
#error __cpp_lib_barrier is not defined
#elif __cpp_lib_barrier != 201907L
#error __cpp_lib_barrier is not 201907L
#elif __cpp_lib_barrier != 202302L
#error __cpp_lib_barrier is not 202302L
#else
STATIC_ASSERT(__cpp_lib_barrier == 201907L);
STATIC_ASSERT(__cpp_lib_barrier == 202302L);
#endif
#else
#ifdef __cpp_lib_barrier
Expand Down

0 comments on commit 6b2fef2

Please sign in to comment.