aboutsummaryrefslogtreecommitdiff
path: root/libcxx/include/exception
diff options
context:
space:
mode:
authorLouis Dionne <ldionne.2@gmail.com>2020-12-10 18:28:13 -0500
committerLouis Dionne <ldionne.2@gmail.com>2020-12-14 16:13:57 -0500
commit7ad49aec125b3c1205b164331d0aa954d773f890 (patch)
tree85d48bebcf0f8aa85f03226b952164d6e8a01b95 /libcxx/include/exception
parentb6b522c4db17157d871eff974e5283058bc616a1 (diff)
downloadllvm-7ad49aec125b3c1205b164331d0aa954d773f890.zip
llvm-7ad49aec125b3c1205b164331d0aa954d773f890.tar.gz
llvm-7ad49aec125b3c1205b164331d0aa954d773f890.tar.bz2
[libc++] Split allocator_traits and pointer_traits out of <memory>
In addition to making the code a lot easier to grasp by localizing many helper functions to the only file where they are actually needed, this will allow creating helper functions that depend on allocator_traits outside of <memory>. This is done as part of implementing array support in allocate_shared, which requires non-trivial array initialization algorithms that would be better to keep out of <memory> for sanity. It's also a first step towards splitting up our monolithic headers into finer grained ones, which will make it easier to reuse functionality across the library. For example, it's just weird that we had to define `addressof` inside <type_traits> to avoid circular dependencies -- instead it's better to implement those in true helper headers. Differential Revision: https://reviews.llvm.org/D93074
Diffstat (limited to 'libcxx/include/exception')
-rw-r--r--libcxx/include/exception1
1 files changed, 1 insertions, 0 deletions
diff --git a/libcxx/include/exception b/libcxx/include/exception
index a668539..4bf4049 100644
--- a/libcxx/include/exception
+++ b/libcxx/include/exception
@@ -78,6 +78,7 @@ template <class E> void rethrow_if_nested(const E& e);
#include <__config>
#include <__availability>
+#include <__memory/base.h>
#include <cstddef>
#include <cstdlib>
#include <type_traits>