This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: egcs 10-31 and UnixWare
- To: law at cygnus dot com
- Subject: Re: egcs 10-31 and UnixWare
- From: Joe Buck <jbuck at synopsys dot com>
- Date: Sun, 9 Nov 97 16:56:45 PST
- Cc: robertl at dgii dot com, acs at acm dot org, egcs at cygnus dot com, gcc2 at cygnus dot com, rr at sco dot com
> 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.