]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/libsupc++/exception
pa.c (pa_output_function_prologue): Delete prototype.
[thirdparty/gcc.git] / libstdc++-v3 / libsupc++ / exception
CommitLineData
6305f20a 1// Exception Handling support header for -*- C++ -*-
d34786e3
BK
2
3// Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation
e2c09482 4//
6305f20a
BK
5// This file is part of GNU CC.
6//
7// GNU CC is free software; you can redistribute it and/or modify
8// it under the terms of the GNU General Public License as published by
9// the Free Software Foundation; either version 2, or (at your option)
10// any later version.
11//
12// GNU CC 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// You should have received a copy of the GNU General Public License
18// along with GNU CC; see the file COPYING. If not, write to
19// the Free Software Foundation, 59 Temple Place - Suite 330,
20// Boston, MA 02111-1307, USA.
21
22// As a special exception, you may use this file as part of a free software
23// library without restriction. Specifically, if other files instantiate
24// templates or use macros or inline functions from this file, or you compile
25// this file and link it with other files to produce an executable, this
26// file does not by itself cause the resulting executable to be covered by
27// the GNU General Public License. This exception does not however
28// invalidate any other reasons why the executable file might be covered by
29// the GNU General Public License.
30
31#ifndef __EXCEPTION__
32#define __EXCEPTION__
33
6305f20a
BK
34extern "C++" {
35
d34786e3
BK
36namespace std
37{
38 class exception
39 {
40 public:
41 exception() throw() { }
f68147f7 42 virtual ~exception() throw();
d34786e3
BK
43 virtual const char* what() const throw();
44 };
6305f20a 45
d34786e3
BK
46 class bad_exception : public exception
47 {
48 public:
49 bad_exception() throw() { }
f68147f7 50 virtual ~bad_exception() throw();
d34786e3 51 };
6305f20a 52
d34786e3
BK
53 typedef void (*terminate_handler) ();
54 typedef void (*unexpected_handler) ();
6305f20a 55
d34786e3
BK
56 terminate_handler set_terminate(terminate_handler) throw();
57 void terminate() __attribute__ ((__noreturn__));
6305f20a 58
d34786e3
BK
59 unexpected_handler set_unexpected(unexpected_handler) throw();
60 void unexpected() __attribute__ ((__noreturn__));
6305f20a 61
d34786e3 62 bool uncaught_exception() throw();
6305f20a
BK
63} // namespace std
64
65} // extern "C++"
66
67#endif