123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // -*- C++ -*-
- //===----------------------------------------------------------------------===//
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- #ifndef _LIBCPP_CSETJMP
- #define _LIBCPP_CSETJMP
- /*
- csetjmp synopsis
- Macros:
- setjmp
- namespace std
- {
- Types:
- jmp_buf
- void longjmp(jmp_buf env, int val);
- } // std
- */
- #include <__assert> // all public C++ headers provide the assertion handler
- #include <__config>
- #include <setjmp.h>
- #ifndef _LIBCPP_SETJMP_H
- # error <csetjmp> tried including <setjmp.h> but didn't find libc++'s <setjmp.h> header. \
- This usually means that your header search paths are not configured properly. \
- The header search paths should contain the C++ Standard Library headers before \
- any C Standard Library, and you are probably using compiler flags that make that \
- not be the case.
- #endif
- #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
- # pragma GCC system_header
- #endif
- _LIBCPP_BEGIN_NAMESPACE_STD
- using ::jmp_buf _LIBCPP_USING_IF_EXISTS;
- using ::longjmp _LIBCPP_USING_IF_EXISTS;
- _LIBCPP_END_NAMESPACE_STD
- #endif // _LIBCPP_CSETJMP
|