exception_support.cc (__terminate_func): Remove declaration.

2001-01-23  Chris Demetriou  <cgd@broadcom.com>

        * libsupc++/exception_support.cc (__terminate_func): Remove
        declaration.
        (__terminate_func_ptr): New typedef.
        (__terminate, __terminate_set_func): New extern function
        prototypes.
        (std::terminate): Use __terminate function.
        (std::set_terminate): Use __terminate_set_func function.

From-SVN: r39226
This commit is contained in:
Chris Demetriou 2001-01-24 03:04:36 +00:00 committed by Chris Demetriou
parent 93982b798a
commit 17fd8a87a4
2 changed files with 17 additions and 6 deletions

View File

@ -1,3 +1,13 @@
2001-01-23 Chris Demetriou <cgd@broadcom.com>
* libsupc++/exception_support.cc (__terminate_func): Remove
declaration.
(__terminate_func_ptr): New typedef.
(__terminate, __terminate_set_func): New extern function
prototypes.
(std::terminate): Use __terminate function.
(std::set_terminate): Use __terminate_set_func function.
2001-01-23 Benjamin Kosnik <bkoz@redhat.com>
* configure.target: Just use os_include_dir always.

View File

@ -39,13 +39,17 @@
/* Define terminate, unexpected, set_terminate, set_unexpected as
well as the default terminate func and default unexpected func. */
extern std::terminate_handler __terminate_func __attribute__((__noreturn__));
/* __terminate and __terminate_set_func, defined in libgcc2. */
typedef void (*__terminate_func_ptr)(void) __attribute__ ((__noreturn__));
extern "C" void __terminate (void) __attribute__ ((__noreturn__));
extern "C" __terminate_func_ptr __terminate_set_func (__terminate_func_ptr);
using std::terminate;
void
std::terminate ()
{
__terminate_func ();
__terminate ();
}
void
@ -60,10 +64,7 @@ static std::unexpected_handler __unexpected_func __attribute__((__noreturn__))
std::terminate_handler
std::set_terminate (std::terminate_handler func) throw()
{
std::terminate_handler old = __terminate_func;
__terminate_func = func;
return old;
return __terminate_set_func (func);
}
std::unexpected_handler