This is the mail archive of the gcc@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: egcs 10-31 and UnixWare



> Anyone know what's supposed to happen if, while running global dtors
> a dtor itself calls exit, which starts the process of runing global
> dtors again....

I've read the relevant part of CD2 [lib.support.start.term] and that
isn't made clear: the description omits describing what happens on
a recursive call.  The other case where this kind of recursion occurs
(a destructor that is called as part of exception processing throws
an exception), the program is aborted by calling terminate().

Has the committee clarified this?  I can think of two logical ways
to proceed: call terminate(), or ignore the second exit() call.




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