aboutsummaryrefslogtreecommitdiff
path: root/libcxx/include/exception
diff options
context:
space:
mode:
authorLouis Dionne <ldionne.2@gmail.com>2022-03-25 12:55:36 -0400
committerLouis Dionne <ldionne.2@gmail.com>2022-03-30 15:05:31 -0400
commit385cc25a531a72c393cee44689e2c3194615bcec (patch)
tree3b7ae3ccfd3012bab9272c4e4f94f01d216e10d6 /libcxx/include/exception
parent3fda0edc51fd68192a30e302d45db081bb02d7f9 (diff)
downloadllvm-385cc25a531a72c393cee44689e2c3194615bcec.zip
llvm-385cc25a531a72c393cee44689e2c3194615bcec.tar.gz
llvm-385cc25a531a72c393cee44689e2c3194615bcec.tar.bz2
[libc++] Ensure that all public C++ headers include <__assert>
This patch changes the requirement for getting the declaration of the assertion handler from including <__assert> to including any public C++ header of the library. Note that C compatibility headers are excluded because we don't implement all the C headers ourselves -- some of them are taken straight from the C library, like assert.h. It also adds a generated test to check it. Furthermore, this new generated test is designed in a way that will make it possible to replace almost all the existing test-generation scripts with this system in upcoming patches. Differential Revision: https://reviews.llvm.org/D122506
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 a60c8e6..412e02a 100644
--- a/libcxx/include/exception
+++ b/libcxx/include/exception
@@ -76,6 +76,7 @@ template <class E> void rethrow_if_nested(const E& e);
*/
+#include <__assert> // all public C++ headers provide the assertion handler
#include <__availability>
#include <__config>
#include <__memory/addressof.h>