[libcxx-commits] [PATCH] D132790: [libc++] Granularize the rest of memory and remove transitive includes

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Sep 2 08:24:36 PDT 2022


ldionne accepted this revision.
ldionne added a comment.
This revision is now accepted and ready to land.

LGTM, thanks for the cleanup! I would also remove the "and remove transitive includes" from the commit message, since it does not really remove any user visible transitive includes.



================
Comment at: libcxx/include/__memory/destruct_n.h:23
+
+struct __destruct_n
+{
----------------
Side comment -- in a separate patch, let's investigate this. There really shouldn't be any logic in here, we should just call `std::destroy_n`. That should handle trivially destructible types and all.

This seems to be used as a RAII cleanup in some algorithms.


================
Comment at: libcxx/include/algorithm:1901
 
 #ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <atomic>
----------------
I think this needs to be rebased, since I would expect a check for `&& C++ <= 20` here (or something like that).


================
Comment at: libcxx/include/memory:880
 
 #ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <cstddef>
----------------
`&& C++ <= 20`?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D132790



More information about the libcxx-commits mailing list