[libc++] Split __allocator_destructor out of shared_ptr.h

Reviewed By: ldionne, huixie90, #libc

Spies: libcxx-commits

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

NOKEYCHECK=True
GitOrigin-RevId: 59ef4b3686e4704f253cf37011c7f0362095cdfe
diff --git a/include/regex b/include/regex
index 8118c94..3c3a2e4 100644
--- a/include/regex
+++ b/include/regex
@@ -773,6 +773,7 @@
 #include <__utility/move.h>
 #include <__utility/pair.h>
 #include <__utility/swap.h>
+#include <cstring>
 #include <deque>
 #include <stdexcept>
 #include <string>
@@ -6858,8 +6859,12 @@
 _LIBCPP_POP_MACROS
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+#  include <atomic>
 #  include <concepts>
+#  include <iosfwd>
 #  include <iterator>
+#  include <new>
+#  include <typeinfo>
 #  include <utility>
 #endif