[libcxx-commits] [PATCH] D62233: General shared_ptr cleanup

Eric Fiselier via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue May 21 22:31:32 PDT 2019


EricWF added inline comments.


================
Comment at: include/memory:3665
 {
-    __compressed_pair<_Alloc, _Tp> __data_;
-public:
-#ifndef _LIBCPP_HAS_NO_VARIADICS
+    _Tp __pointee;
+    _Alloc __alloc;
----------------
Changing the `__compressed_pair` to these two separate members changes the layout of `__shared_ptr_emplace` and in turn breaks the ABI.


================
Comment at: include/memory:4008
+        } catch (...) {
+            __d(__p);
+            throw;
----------------
You're deleting a `nullptr` here. IDK if that makes sense.


Repository:
  rCXX libc++

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

https://reviews.llvm.org/D62233





More information about the libcxx-commits mailing list