This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Consistently using __throw_* (was: Re: PATCH: Eliminate uses of"sleep"...)
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: Paolo Carlini <pcarlini at suse dot de>
- Cc: Jonathan Wakely <cow at compsoc dot man dot ac dot uk>, Mark Mitchell<mark at codesourcery dot com>, "'gcc-patches at gcc dot gnu dot org'"<gcc-patches at gcc dot gnu dot org>, libstdc++ <libstdc++ at gcc dot gnu dot org>
- Date: Wed, 5 Jan 2005 13:32:06 -0600
- Subject: Re: Consistently using __throw_* (was: Re: PATCH: Eliminate uses of"sleep"...)
- Organization: Red Hat / Chicago
- References: <41DBFF39.7000602@suse.de>
>> "__throw_exception_again;" should be used in place of "throw;" to rethrow
>> an active exception. With -fno-exceptions __throw_exception_again is
>> replaced with an empty string, which is not what's wanted.
..when -fno-exceptions, all catch blocks are turned into if (false). I
think that makes this particular issue pretty moot, since presumably all
rethrows are within catch blocks, no?
(
>I mean, some time ago I did an audit for this issue, and for a consistent
>fix we need to add a few functions to the set in functexcept.h.
>At least:
>
> __throw (which boils down to either throw or abort)
It looks like this usage is mostly ok, with the exception of some
testsuite_* files. I can fix these up.
> __throw_symbol_error
> __throw_facet_error
> __throw_positioning_error
> __throw_fuzzy_logic
Not quite sure where you are getting these? Hmm.
It is undoubtedly true that functexcept.h should contain -fno-except
versions exception objects used by the library, extensions, and
tr1 work.
-benjamin