aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/libcxx/include/csetjmp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/libcxx/include/csetjmp')
-rw-r--r--contrib/llvm-project/libcxx/include/csetjmp8
1 files changed, 7 insertions, 1 deletions
diff --git a/contrib/llvm-project/libcxx/include/csetjmp b/contrib/llvm-project/libcxx/include/csetjmp
index d219c8e6cb22..9012cad22ebe 100644
--- a/contrib/llvm-project/libcxx/include/csetjmp
+++ b/contrib/llvm-project/libcxx/include/csetjmp
@@ -33,7 +33,13 @@ void longjmp(jmp_buf env, int val);
#include <__assert> // all public C++ headers provide the assertion handler
#include <__config>
-#include <setjmp.h>
+// <setjmp.h> is not provided by libc++
+#if __has_include(<setjmp.h>)
+# include <setjmp.h>
+# ifdef _LIBCPP_SETJMP_H
+# error "If libc++ starts defining <setjmp.h>, the __has_include check should move to libc++'s <setjmp.h>"
+# endif
+#endif
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header