[libcxx-commits] [PATCH] D68480: Implementation of C++20's P1135R6 for libcxx

Olivier Giroux via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Feb 17 16:25:19 PST 2020


__simt__ updated this revision to Diff 245055.
__simt__ added a comment.

This revision addresses the outstanding comments, and incorporates Louis' recommended macros for ulock detection.

I also added missing max() members to barrier/latch that were added by NB comment resolution, and I implemented the normative encouragement for the lock-free types to match the ideal contention type, if there is one. I added tests for these things.

Finally, I further improved the ABI resilience of the barrier type so it's almost a full pimpl now.


Repository:
  rCXX libc++

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68480/new/

https://reviews.llvm.org/D68480

Files:
  libcxx/include/CMakeLists.txt
  libcxx/include/__threading_support
  libcxx/include/atomic
  libcxx/include/barrier
  libcxx/include/latch
  libcxx/include/module.modulemap
  libcxx/include/semaphore
  libcxx/src/CMakeLists.txt
  libcxx/src/atomic.cpp
  libcxx/src/barrier.cpp
  libcxx/src/include/apple_availability.h
  libcxx/test/libcxx/double_include.sh.cpp
  libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
  libcxx/test/std/atomics/types.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.barrier/max.pass.cpp
  libcxx/test/std/thread/thread.barrier/version.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/max.pass.cpp
  libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
  libcxx/test/std/thread/thread.latch/version.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/max.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
  libcxx/test/std/thread/thread.semaphore/version.pass.cpp
  libcxx/www/cxx2a_status.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68480.245055.patch
Type: text/x-patch
Size: 77719 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200218/e4bfcf0c/attachment-0001.bin>


More information about the libcxx-commits mailing list