llvm-project

Форк
0
54 строки · 1.1 Кб
1
// -*- C++ -*-
2
//===----------------------------------------------------------------------===//
3
//
4
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
// See https://llvm.org/LICENSE.txt for license information.
6
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
//
8
//===----------------------------------------------------------------------===//
9

10
#ifndef _LIBCPP_CSETJMP
11
#define _LIBCPP_CSETJMP
12

13
/*
14
    csetjmp synopsis
15

16
Macros:
17

18
    setjmp
19

20
namespace std
21
{
22

23
Types:
24

25
    jmp_buf
26

27
void longjmp(jmp_buf env, int val);
28

29
}  // std
30

31
*/
32

33
#include <__config>
34

35
// <setjmp.h> is not provided by libc++
36
#if __has_include(<setjmp.h>)
37
#  include <setjmp.h>
38
#  ifdef _LIBCPP_SETJMP_H
39
#    error "If libc++ starts defining <setjmp.h>, the __has_include check should move to libc++'s <setjmp.h>"
40
#  endif
41
#endif
42

43
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
44
#  pragma GCC system_header
45
#endif
46

47
_LIBCPP_BEGIN_NAMESPACE_STD
48

49
using ::jmp_buf _LIBCPP_USING_IF_EXISTS;
50
using ::longjmp _LIBCPP_USING_IF_EXISTS;
51

52
_LIBCPP_END_NAMESPACE_STD
53

54
#endif // _LIBCPP_CSETJMP
55

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.