std_csetjmp.h revision 97403
197403Sobrien// -*- C++ -*- forwarding header. 297403Sobrien 397403Sobrien// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 497403Sobrien// Free Software Foundation, Inc. 597403Sobrien// 697403Sobrien// This file is part of the GNU ISO C++ Library. This library is free 797403Sobrien// software; you can redistribute it and/or modify it under the 897403Sobrien// terms of the GNU General Public License as published by the 997403Sobrien// Free Software Foundation; either version 2, or (at your option) 1097403Sobrien// any later version. 1197403Sobrien 1297403Sobrien// This library is distributed in the hope that it will be useful, 1397403Sobrien// but WITHOUT ANY WARRANTY; without even the implied warranty of 1497403Sobrien// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1597403Sobrien// GNU General Public License for more details. 1697403Sobrien 1797403Sobrien// You should have received a copy of the GNU General Public License along 1897403Sobrien// with this library; see the file COPYING. If not, write to the Free 1997403Sobrien// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 2097403Sobrien// USA. 2197403Sobrien 2297403Sobrien// As a special exception, you may use this file as part of a free software 2397403Sobrien// library without restriction. Specifically, if other files instantiate 2497403Sobrien// templates or use macros or inline functions from this file, or you compile 2597403Sobrien// this file and link it with other files to produce an executable, this 2697403Sobrien// file does not by itself cause the resulting executable to be covered by 2797403Sobrien// the GNU General Public License. This exception does not however 2897403Sobrien// invalidate any other reasons why the executable file might be covered by 2997403Sobrien// the GNU General Public License. 3097403Sobrien 3197403Sobrien// 3297403Sobrien// ISO C++ 14882: 20.4.6 C library 3397403Sobrien// 3497403Sobrien 3597403Sobrien/** @file csetjmp 3697403Sobrien * This is a Standard C++ Library file. You should @c #include this file 3797403Sobrien * in your programs, rather than any of the "*.h" implementation files. 3897403Sobrien * 3997403Sobrien * This is the C++ version of the Standard C Library header @c setjmp.h, 4097403Sobrien * and its contents are (mostly) the same as that header, but are all 4197403Sobrien * contained in the namespace @c std. 4297403Sobrien */ 4397403Sobrien 44132720Skan#ifndef _CPP_CSETJMP 45132720Skan#define _CPP_CSETJMP 1 4697403Sobrien 4797403Sobrien#pragma GCC system_header 4897403Sobrien 4997403Sobrien#include <setjmp.h> 5097403Sobrien 5197403Sobrien// Get rid of those macros defined in <setjmp.h> in lieu of real functions. 52#undef longjmp 53 54// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 55#ifndef setjmp 56#define setjmp(env) setjmp (env) 57#endif 58 59namespace std 60{ 61 using ::jmp_buf; 62 using ::longjmp; 63} 64 65#endif 66