verbose terminate() on by default

Alexandre Oliva aoliva@redhat.com
Tue Dec 24 08:09:00 GMT 2002


On Dec 23, 2002, Gabriel Dos Reis <gdr@integrable-solutions.net> wrote:

> OK.  Phil, please, would you mind moving __verbose_terminate_handler()
> definition to libstdc++/eh_terminate.cc and making its definition
> static?

And while at that move the definition of __terminate_handler and
__unexpected_handler into separate object files, such that they can be
individually overridden in static linking, without bringing in
unwanted code.  I don't really care about what the verbose handler
does, so trying to take out library calls from it is not the point.
Whatever it is, it is too much, if I overrode the definition of
__terminate_handler such that it called another function by default.

The idea is that, if I want to use a non-verbose terminate(), to save
on space, I can link with an object file that defines:

std::terminate_handler __cxxabiv1::__terminate_handler = std::abort;

This should be enough to prevent the to-be-default definition from
coming in and bringing in with it the new verbose terminate handler.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer



More information about the Libstdc++ mailing list