1// -*- C++ -*- forwarding header. 2 3// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 4// 2009, 2010 Free Software Foundation, Inc. 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 9// Free Software Foundation; either version 3, or (at your option) 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 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. 20 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/>. 25 26/** @file csetjmp 27 * This is a Standard C++ Library file. You should @c #include this file 28 * in your programs, rather than any of the @a *.h implementation files. 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 32 * contained in the namespace @c std (except for names which are defined 33 * as macros in C). 34 */ 35 36// 37// ISO C++ 14882: 20.4.6 C library 38// 39 40#ifndef _GLIBCXX_CSETJMP 41#define _GLIBCXX_CSETJMP 1 42 43#pragma GCC system_header 44 45#include <bits/c++config.h> 46#include <setjmp.h> 47 48// Get rid of those macros defined in <setjmp.h> in lieu of real functions. 49#undef longjmp 50 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 56namespace std 57{ 58 using ::jmp_buf; 59 using ::longjmp; 60} // namespace std 61 62#endif 63