[libcxx-commits] [PATCH] D119264: [libc++] Rename *SAFE_STATIC to *CONSTINIT, and normalize its uses.

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Feb 8 10:41:29 PST 2022


Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, Mordante, 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++.
Herald added a project: libc++abi.
Herald added a reviewer: libc++abi.

As I suggested in D118874 <https://reviews.llvm.org/D118874>.
This is //not// NFC; if we're worried about the functional changes, I'm willing to split this into an NFC and a cleanup.

In particular I'm not clear on whether we can safely assume, inside src/*.cpp:

- that C++11 is available? Several places use `0` for `nullptr`, and `_LIBCPP_CONSTEXPR` for `constexpr`. Can I fix those?
- that C++20 is available? Could we just use `constinit` directly instead of `_LIBCPP_CONSTINIT`, in src/*.cpp?

In the .h files we're at the mercy of the user-programmer and must generally assume C++03, but in src/*.cpp //we// (that is, our vendors) control the compiler switches.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D119264

Files:
  libcxx/include/__config
  libcxx/src/debug.cpp
  libcxx/src/experimental/memory_resource.cpp
  libcxx/src/experimental/memory_resource_init_helper.h
  libcxx/src/memory.cpp
  libcxx/src/mutex.cpp
  libcxx/src/random_shuffle.cpp
  libcxx/src/support/runtime/exception_fallback.ipp
  libcxx/src/support/runtime/new_handler_fallback.ipp
  libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_always.pass.cpp
  libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_never.pass.cpp
  libcxx/test/std/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_always.pass.cpp
  libcxx/test/std/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_never.pass.cpp
  libcxx/test/std/utilities/any/any.class/any.cons/default.pass.cpp
  libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/default.pass.cpp
  libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/nullptr.pass.cpp
  libcxx/test/support/test_macros.h
  libcxxabi/src/cxa_default_handlers.cpp
  libcxxabi/src/cxa_guard_impl.h
  libcxxabi/src/fallback_malloc.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119264.406891.patch
Type: text/x-patch
Size: 14212 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220208/36e569ed/attachment.bin>


More information about the libcxx-commits mailing list