[all-commits] [llvm/llvm-project] d0eaf7: [libc++] Remove non-atomic "platform" semaphore im...

Quuxplusone via All-commits all-commits at lists.llvm.org
Thu Nov 4 11:34:59 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d0eaf75320ea72c4da55060b6c42aad923870814
      https://github.com/llvm/llvm-project/commit/d0eaf75320ea72c4da55060b6c42aad923870814
  Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
  Date:   2021-11-04 (Thu, 04 Nov 2021)

  Changed paths:
    M libcxx/include/__threading_support
    M libcxx/include/semaphore
    M libcxx/src/support/win32/thread_win32.cpp
    M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/release.pass.cpp

  Log Message:
  -----------
  [libc++] Remove non-atomic "platform" semaphore implementations.

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 `semaphore<42>` could be bigger than
`semaphore<43>`, and that's just silly.

Differential Revision: https://reviews.llvm.org/D110110




More information about the All-commits mailing list