Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

<barrier>: Declare victory! #3455

Merged
merged 5 commits into from
Feb 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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