This is the mail archive of the 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
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]