Consistently using __throw_* (was: Re: PATCH: Eliminate uses of "sleep"...)

Benjamin Kosnik bkoz@redhat.com
Wed Jan 5 19:34:00 GMT 2005


>> "__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



More information about the Gcc-patches mailing list