[libcxx-commits] [libcxx] [libcxx][test-support] Implement fancy_pointer_allocator (PR #196187)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jun 25 09:00:43 PDT 2026


================
@@ -393,21 +394,30 @@ namespace detail {
 template <class T>
 class thread_unsafe_shared_ptr {
 public:
-  thread_unsafe_shared_ptr() = default;
-
-  TEST_CONSTEXPR_CXX14 thread_unsafe_shared_ptr(const thread_unsafe_shared_ptr& other) : block(other.block) {
+  // as it's internal and technically not nullable, we don't care about null pointer state
+  // and don't need destructive move
+  TEST_CONSTEXPR_CXX14 thread_unsafe_shared_ptr(const thread_unsafe_shared_ptr& other) TEST_NOEXCEPT
----------------
ldionne wrote:

Can you explain why these changes are needed? I don't quite understand the relationship these changes have with the introduction of the fancy pointer allocator.

https://github.com/llvm/llvm-project/pull/196187


More information about the libcxx-commits mailing list