]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/include/c_std/csetjmp
PR libstdc++/36104 part four
[thirdparty/gcc.git] / libstdc++-v3 / include / c_std / csetjmp
CommitLineData
98e6e789 1// -*- C++ -*- forwarding header.
22aef514 2
748086b7 3// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2a60a9f6 4// 2009, 2010 Free Software Foundation, Inc.
22aef514
BK
5//
6// This file is part of the GNU ISO C++ Library. This library is free
7// software; you can redistribute it and/or modify it under the
8// terms of the GNU General Public License as published by the
748086b7 9// Free Software Foundation; either version 3, or (at your option)
22aef514
BK
10// any later version.
11
12// This library is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16
748086b7
JJ
17// Under Section 7 of GPL version 3, you are granted additional
18// permissions described in the GCC Runtime Library Exception, version
19// 3.1, as published by the Free Software Foundation.
22aef514 20
748086b7
JJ
21// You should have received a copy of the GNU General Public License and
22// a copy of the GCC Runtime Library Exception along with this program;
23// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24// <http://www.gnu.org/licenses/>.
22aef514 25
ffe94f83
PE
26/** @file csetjmp
27 * This is a Standard C++ Library file. You should @c #include this file
2a60a9f6 28 * in your programs, rather than any of the @a *.h implementation files.
ffe94f83
PE
29 *
30 * This is the C++ version of the Standard C Library header @c setjmp.h,
31 * and its contents are (mostly) the same as that header, but are all
097588e4
PC
32 * contained in the namespace @c std (except for names which are defined
33 * as macros in C).
ffe94f83
PE
34 */
35
143c27b0
BK
36//
37// ISO C++ 14882: 20.4.6 C library
38//
39
1143680e
SE
40#ifndef _GLIBCXX_CSETJMP
41#define _GLIBCXX_CSETJMP 1
22aef514 42
98e6e789 43#pragma GCC system_header
34ff0b99 44
3cbc7af0 45#include <bits/c++config.h>
c0dae541 46#include <setjmp.h>
22aef514 47
8089616e
BK
48// Get rid of those macros defined in <setjmp.h> in lieu of real functions.
49#undef longjmp
50
910e8539
LR
51// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
52#ifndef setjmp
53#define setjmp(env) setjmp (env)
54#endif
55
12ffa228
BK
56namespace std
57{
98e6e789 58 using ::jmp_buf;
de96ac46 59 using ::longjmp;
12ffa228 60} // namespace std
22aef514 61
98e6e789 62#endif