[libcxx-commits] [libcxx] 80e73f2 - [libc++] Adapt a few things around the implementation of P1135R6
Nico Weber via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Feb 24 10:18:13 PST 2020
Sounds good. Thanks for the cleanup!
On Mon, Feb 24, 2020 at 12:19 PM Louis Dionne <ldionne at apple.com> wrote:
> Breaking C++11 was not intentional, however we may want to make it
> intentional now that I think of it. I don't see any place where we specify
> `-std=c++11` explicitly for building the dylib, and we do have a place that
> requests C++14 by default (libcxx/CMakeLists.txt:524):
>
> # Require C++14 for all targets. C++14 is needed to ensure constant
> # initialization for certain globals (ex global memory resources).
> set_target_properties(${target} PROPERTIES
> CXX_STANDARD 14
> CXX_STANDARD_REQUIRED YES
> CXX_EXTENSIONS NO)
>
> So I'll even get rid of the special check for when we build
> cxx_experimental, which is now redundant. Thanks for the heads up, though!
>
> Louis
>
> On Feb 24, 2020, at 11:58, Nico Weber <thakis at chromium.org> wrote:
>
> Hi,
>
> with this, libc++ fails building with -std=c++11. Is that intentional?
> libcxx/lib/CMakeLists.txt has logic to explicitly add -std=c++14, but only
> if the experimental target is enabled.
>
> Here are a few past CLs around this:
> https://reviews.llvm.org/D19992
> https://reviews.llvm.org/D59152
> https://reviews.llvm.org/rL373808
> https://reviews.llvm.org/D61275
>
> Is that all just obsolete and libc++ expects -std=c++14 as default, and we
> can either remove the explicit -std=c++14 or move it out of the
> experimental check? Or is this an oversight? (I would've thought "it's
> intentional", but on the other hand c++11 worked fine until today, so maybe
> keeping it working is a goal.)
>
>
> The actual error:
>
> ../../libcxx/include/barrier:61:3: error: <barrier> requires C++14 or later
> # error <barrier> requires C++14 or later
>
> On Mon, Feb 24, 2020 at 11:00 AM Louis Dionne via libcxx-commits <
> libcxx-commits at lists.llvm.org> wrote:
>
>>
>> Author: Louis Dionne
>> Date: 2020-02-24T10:59:35-05:00
>> New Revision: 80e73f22956c532e581c280a7388cfa87cec98e8
>>
>> URL:
>> https://github.com/llvm/llvm-project/commit/80e73f22956c532e581c280a7388cfa87cec98e8
>> DIFF:
>> https://github.com/llvm/llvm-project/commit/80e73f22956c532e581c280a7388cfa87cec98e8.diff
>>
>> LOG: [libc++] Adapt a few things around the implementation of P1135R6
>>
>> - Add the new symbols to the ABI list on Darwin
>> - Add XFAIL markup to the tests that require dylib support on older
>> platforms
>> - Add availability markup for back-deployment
>>
>> Added:
>>
>>
>> Modified:
>> libcxx/include/__config
>> libcxx/include/atomic
>> libcxx/include/barrier
>> libcxx/lib/abi/CHANGELOG.TXT
>> libcxx/lib/abi/x86_64-apple-darwin.v1.abilist
>> libcxx/lib/abi/x86_64-apple-darwin.v2.abilist
>>
>> libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
>> libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
>> libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
>> libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
>> libcxx/test/std/thread/thread.barrier/completion.pass.cpp
>> libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
>> libcxx/test/std/thread/thread.latch/count_down.pass.cpp
>> libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
>> libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
>> libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
>> libcxx/test/std/thread/thread.semaphore/release.pass.cpp
>> libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
>> libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
>>
>> Removed:
>>
>>
>>
>>
>> ################################################################################
>> diff --git a/libcxx/include/__config b/libcxx/include/__config
>> index 5454f8dee73b..df3ce8ae87f6 100644
>> --- a/libcxx/include/__config
>> +++ b/libcxx/include/__config
>> @@ -1432,6 +1432,8 @@ _LIBCPP_FUNC_VIS extern "C" void
>> __sanitizer_annotate_contiguous_container(
>> _Pragma("clang attribute pop")
>> # define _LIBCPP_AVAILABILITY_TO_CHARS
>> \
>> _LIBCPP_AVAILABILITY_FILESYSTEM
>> +# define _LIBCPP_AVAILABILITY_SYNC
>> \
>> + __attribute__((availability(unavailable, message="The C++20
>> Synchronization Library requires runtime support that hasn't been shipped
>> on Apple platforms yet!")))
>> #else
>> # define _LIBCPP_AVAILABILITY_SHARED_MUTEX
>> # define _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS
>> @@ -1447,6 +1449,7 @@ _LIBCPP_FUNC_VIS extern "C" void
>> __sanitizer_annotate_contiguous_container(
>> # define _LIBCPP_AVAILABILITY_FILESYSTEM_PUSH
>> # define _LIBCPP_AVAILABILITY_FILESYSTEM_POP
>> # define _LIBCPP_AVAILABILITY_TO_CHARS
>> +# define _LIBCPP_AVAILABILITY_SYNC
>> #endif
>>
>> // Define availability that depends on _LIBCPP_NO_EXCEPTIONS.
>>
>> diff --git a/libcxx/include/atomic b/libcxx/include/atomic
>> index 02784df7d54c..0cbd7c0876bf 100644
>> --- a/libcxx/include/atomic
>> +++ b/libcxx/include/atomic
>> @@ -1471,15 +1471,15 @@ using __cxx_atomic_contention_t =
>> __cxx_atomic_impl<__cxx_contention_t>;
>>
>> #ifndef _LIBCPP_HAS_NO_PLATFORM_WAIT
>>
>> -_LIBCPP_EXPORTED_FROM_ABI void __cxx_atomic_notify_one(void const
>> volatile*);
>> -_LIBCPP_EXPORTED_FROM_ABI void __cxx_atomic_notify_all(void const
>> volatile*);
>> -_LIBCPP_EXPORTED_FROM_ABI __cxx_contention_t
>> __libcpp_atomic_monitor(void const volatile*);
>> -_LIBCPP_EXPORTED_FROM_ABI void __libcpp_atomic_wait(void const
>> volatile*, __cxx_contention_t);
>> -
>> -_LIBCPP_EXPORTED_FROM_ABI void
>> __cxx_atomic_notify_one(__cxx_atomic_contention_t const volatile*);
>> -_LIBCPP_EXPORTED_FROM_ABI void
>> __cxx_atomic_notify_all(__cxx_atomic_contention_t const volatile*);
>> -_LIBCPP_EXPORTED_FROM_ABI __cxx_contention_t
>> __libcpp_atomic_monitor(__cxx_atomic_contention_t const volatile*);
>> -_LIBCPP_EXPORTED_FROM_ABI void
>> __libcpp_atomic_wait(__cxx_atomic_contention_t const volatile*,
>> __cxx_contention_t);
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void
>> __cxx_atomic_notify_one(void const volatile*);
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void
>> __cxx_atomic_notify_all(void const volatile*);
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI __cxx_contention_t
>> __libcpp_atomic_monitor(void const volatile*);
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void
>> __libcpp_atomic_wait(void const volatile*, __cxx_contention_t);
>> +
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void
>> __cxx_atomic_notify_one(__cxx_atomic_contention_t const volatile*);
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void
>> __cxx_atomic_notify_all(__cxx_atomic_contention_t const volatile*);
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI __cxx_contention_t
>> __libcpp_atomic_monitor(__cxx_atomic_contention_t const volatile*);
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void
>> __libcpp_atomic_wait(__cxx_atomic_contention_t const volatile*,
>> __cxx_contention_t);
>>
>> template <class _Atp, class _Fn>
>> _LIBCPP_INLINE_VISIBILITY bool __cxx_atomic_wait(_Atp* __a, _Fn &&
>> __test_fn)
>>
>> diff --git a/libcxx/include/barrier b/libcxx/include/barrier
>> index bf2b9a88297a..e6dc0a19a5c3 100644
>> --- a/libcxx/include/barrier
>> +++ b/libcxx/include/barrier
>> @@ -91,14 +91,14 @@ using __barrier_phase_t = uint8_t;
>>
>> class __barrier_algorithm_base;
>>
>> -_LIBCPP_EXPORTED_FROM_ABI
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI
>> __barrier_algorithm_base* __construct_barrier_algorithm_base(ptr
>> diff _t& __expected);
>>
>> -_LIBCPP_EXPORTED_FROM_ABI
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI
>> bool __arrive_barrier_algorithm_base(__barrier_algorithm_base* __barrier,
>> __barrier_phase_t __old_phase);
>>
>> -_LIBCPP_EXPORTED_FROM_ABI
>> +_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI
>> void __destroy_barrier_algorithm_base(__barrier_algorithm_base*
>> __barrier);
>>
>> template<class _CompletionF>
>>
>> diff --git a/libcxx/lib/abi/CHANGELOG.TXT b/libcxx/lib/abi/CHANGELOG.TXT
>> index daea0a1645b7..ca81722270bc 100644
>> --- a/libcxx/lib/abi/CHANGELOG.TXT
>> +++ b/libcxx/lib/abi/CHANGELOG.TXT
>> @@ -12,6 +12,34 @@ Afterwards the ABI list should be updated to include
>> the new changes.
>>
>> New entries should be added directly below the "Version" header.
>>
>> +------------
>> +Version 10.0
>> +------------
>> +
>> +* TODO - [libc++] Implementation of C++20's P1135R6 for libcxx
>> +
>> + libc++ now implements P1135R6 (The C++20 Synchronization Library),
>> which
>> + adds a few symbols to the dylib. This is backwards-compatible since
>> we're
>> + just adding new symbols.
>> +
>> + x86_64-unknown-linux-gnu
>> + ------------------------
>> + TODO
>> +
>> + x86_64-apple-apple-darwin
>> + -------------------------
>> + Symbol added:
>> __ZNSt3__120__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx
>> + Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKvx
>> + Symbol added:
>> __ZNSt3__123__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE
>> + Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKv
>> + Symbol added:
>> __ZNSt3__123__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE
>> + Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKv
>> + Symbol added:
>> __ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE
>> + Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKv
>> + Symbol added:
>> __ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh
>> + Symbol added:
>> __ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE
>> + Symbol added: __ZNSt3__134__construct_barrier_algorithm_baseERl
>> +
>> -----------
>> Version 9.0
>> -----------
>>
>> diff --git a/libcxx/lib/abi/x86_64-apple-darwin.v1.abilist
>> b/libcxx/lib/abi/x86_64-apple-darwin.v1.abilist
>> index 2e405c9657e2..db06a4cc17cd 100644
>> --- a/libcxx/lib/abi/x86_64-apple-darwin.v1.abilist
>> +++ b/libcxx/lib/abi/x86_64-apple-darwin.v1.abilist
>> @@ -2420,3 +2420,14 @@
>> {'type': 'OBJECT', 'is_defined': True, 'name':
>> '__ZTINSt3__14__fs10filesystem16filesystem_errorE', 'size': 0}
>> {'type': 'OBJECT', 'is_defined': True, 'name':
>> '__ZTSNSt3__14__fs10filesystem16filesystem_errorE', 'size': 0}
>> {'type': 'OBJECT', 'is_defined': True, 'name':
>> '__ZTVNSt3__14__fs10filesystem16filesystem_errorE', 'size': 0}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__120__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__120__libcpp_atomic_waitEPVKvx'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__123__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__123__cxx_atomic_notify_allEPVKv'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__123__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__123__cxx_atomic_notify_oneEPVKv'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__123__libcpp_atomic_monitorEPVKv'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__134__construct_barrier_algorithm_baseERl'}
>>
>> diff --git a/libcxx/lib/abi/x86_64-apple-darwin.v2.abilist
>> b/libcxx/lib/abi/x86_64-apple-darwin.v2.abilist
>> index f1205a00c3cf..e8cb526c4a32 100644
>> --- a/libcxx/lib/abi/x86_64-apple-darwin.v2.abilist
>> +++ b/libcxx/lib/abi/x86_64-apple-darwin.v2.abilist
>> @@ -2376,3 +2376,14 @@
>> {'is_defined': True, 'name': '___dynamic_cast', 'type': 'I'}
>> {'is_defined': False, 'name': '___gxx_personality_v0', 'type': 'U'}
>> {'is_defined': True, 'name': '___gxx_personality_v0', 'type': 'I'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__220__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__220__libcpp_atomic_waitEPVKvx'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__223__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__223__cxx_atomic_notify_allEPVKv'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__223__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__223__cxx_atomic_notify_oneEPVKv'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__223__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__223__libcpp_atomic_monitorEPVKv'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__231__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__232__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE'}
>> +{'type': 'FUNC', 'is_defined': True, 'name':
>> '__ZNSt3__234__construct_barrier_algorithm_baseERl'}
>> \ No newline at end of file
>>
>> diff --git
>> a/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
>> b/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
>> index 8bd262a384af..ea1d7a84a410 100644
>> ---
>> a/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
>> +++
>> b/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // XFAIL: c++98, c++03
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <atomic>
>>
>> #include <atomic>
>>
>> diff --git a/libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
>> b/libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
>> index 943fc84306ae..3283bf2d7518 100644
>> --- a/libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <barrier>
>>
>> #include <barrier>
>>
>> diff --git
>> a/libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
>> b/libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
>> index 8724a1dbe207..a0428a78d02e 100644
>> --- a/libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <barrier>
>>
>> #include <barrier>
>>
>> diff --git
>> a/libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
>> b/libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
>> index 8596e8a1b6f2..66f46ec90499 100644
>> --- a/libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <barrier>
>>
>> #include <barrier>
>>
>> diff --git a/libcxx/test/std/thread/thread.barrier/completion.pass.cpp
>> b/libcxx/test/std/thread/thread.barrier/completion.pass.cpp
>> index 67ae526f4881..1cce370bf59f 100644
>> --- a/libcxx/test/std/thread/thread.barrier/completion.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.barrier/completion.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <barrier>
>>
>> #include <barrier>
>>
>> diff --git
>> a/libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
>> b/libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
>> index 156e913e2562..07b3c763e851 100644
>> --- a/libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <latch>
>>
>> #include <latch>
>>
>> diff --git a/libcxx/test/std/thread/thread.latch/count_down.pass.cpp
>> b/libcxx/test/std/thread/thread.latch/count_down.pass.cpp
>> index 81f0605313f0..9374a6e4fb61 100644
>> --- a/libcxx/test/std/thread/thread.latch/count_down.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.latch/count_down.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <latch>
>>
>> #include <latch>
>>
>> diff --git a/libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
>> b/libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
>> index 7284849b6ede..052427197722 100644
>> --- a/libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <latch>
>>
>> #include <latch>
>>
>> diff --git a/libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
>> b/libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
>> index bb5f7fb31162..66e13754d5d6 100644
>> --- a/libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <semaphore>
>>
>> #include <semaphore>
>>
>> diff --git a/libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
>> b/libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
>> index d46d6ae47719..fc867be5696d 100644
>> --- a/libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <semaphore>
>>
>> #include <semaphore>
>>
>> diff --git a/libcxx/test/std/thread/thread.semaphore/release.pass.cpp
>> b/libcxx/test/std/thread/thread.semaphore/release.pass.cpp
>> index 0660feb34de7..fe3c70ae0fe5 100644
>> --- a/libcxx/test/std/thread/thread.semaphore/release.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.semaphore/release.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <semaphore>
>>
>> #include <semaphore>
>>
>> diff --git a/libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
>> b/libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
>> index d0bbc91351cc..39badb0a34cb 100644
>> --- a/libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <semaphore>
>>
>> #include <semaphore>
>>
>> diff --git
>> a/libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
>> b/libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
>> index 7f0656785927..7c8ded08e1a7 100644
>> --- a/libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
>> +++ b/libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
>> @@ -9,6 +9,15 @@
>> // UNSUPPORTED: libcpp-has-no-threads
>> // UNSUPPORTED: c++98, c++03, c++11
>>
>> +// This test requires the dylib support introduced in D68480
>> +// XFAIL: with_system_cxx_lib=macosx10.15
>> +// XFAIL: with_system_cxx_lib=macosx10.14
>> +// XFAIL: with_system_cxx_lib=macosx10.13
>> +// XFAIL: with_system_cxx_lib=macosx10.12
>> +// XFAIL: with_system_cxx_lib=macosx10.11
>> +// XFAIL: with_system_cxx_lib=macosx10.10
>> +// XFAIL: with_system_cxx_lib=macosx10.9
>> +
>> // <semaphore>
>>
>> #include <semaphore>
>>
>>
>>
>> _______________________________________________
>> libcxx-commits mailing list
>> libcxx-commits at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200224/9ac41a56/attachment-0001.html>
More information about the libcxx-commits
mailing list