This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Minor exception bug with unexpected


ak  writes:

> On Thu, Mar 19, 1998 at 04:24:35PM +0100, Alexandre Oliva wrote:
>> ak  writes:
>> 
>> > The appended example dumps core in __check_eh_spec. Although that
>> > is legal in CD2 [except.special says "The unexpected() function shall 
>> > not return"], it is still not very nice to the user. The patch 
>> > makes unexpected() call terminate() in this case.
>> 
>> I'd rather call abort() instead of terminate().  Calling terminate()
>> might cause yet more unexpected results (unavoidable pun, sorry :-)

> What unexpected results should it cause? abort is a bit too radical
> for my tastes.

What if terminate() is replaced by the programmer too, and it returns
instead of calling terminating?  Instead of adding a call to
terminate() then a call to abort(), I'd rather call abort() directly,
because terminate() is *not* expected to be called after unexpected().
Since we're moving into grey area (undefined behavior), I'd rather
keep things simple, and abort()ing seems better to me, even for
debugging purposes.

-- 
Alexandre Oliva
mailto:oliva@dcc.unicamp.br mailto:aoliva@acm.org
http://www.dcc.unicamp.br/~oliva
Universidade Estadual de Campinas, SP, Brasil



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]