[libcxx-commits] [PATCH] D110110: [libc++] [ABI BREAK] Remove non-atomic "platform" semaphore implementations.

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Sep 20 15:08:20 PDT 2021


Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, __simt__, libc++.
Quuxplusone added a project: libc++.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added 1 blocking reviewer(s): libc++.

These can't be made constexpr-constructible (constinit'able), so they aren't C++20-conforming. Also, the platform versions are going to be bigger than the atomic/futex version, so we'd have the awkward situation that `sizeof(counting_semaphore<400>) < sizeof(counting_semaphore<2>)`, and that's just silly.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D110110

Files:
  libcxx/include/__threading_support
  libcxx/include/semaphore
  libcxx/src/support/win32/thread_win32.cpp
  libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
  libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
  libcxx/test/std/thread/thread.semaphore/max.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110110.373721.patch
Type: text/x-patch
Size: 11055 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210920/7979c0c1/attachment-0001.bin>


More information about the libcxx-commits mailing list