Great g++ bug! Local destructor isn't called!
Assinovsky, Lev
LAssinovsky@algorithm.aelita.com
Wed Mar 10 15:38:00 GMT 2004
> -----Original Message-----
> From: Eljay Love-Jensen [mailto:eljay@adobe.com]
> Sent: Wednesday, March 10, 2004 5:46 PM
> To: Assinovsky, Lev; gcc-help@gcc.gnu.org
> Subject: Re: Great g++ bug! Local destructor isn't called!
>
>
> Hi Lev,
>
> I notice that if the throw(int) specification is taken off the Raiser
> constructor, then the ~Object() is called with -O3.
>
> (I'm using GCC 3.3.1 on CygWin / Windows XP.)
>
> Very odd. Good catch. Have you filed a bug?
Not yet.
>
> BTW, in general, I've found that it's usually best NOT to put
> in throw
> specifications for functions / methods. Ever.
Too late!! We have tons of code with exception specification!
(This
> restriction does not
> apply to putting in the "throw() -- I throw nothing, ever"
> specification. But even that should be used with great caution.)
>
> If C++ did exception specifications like how Java does them,
> then that'd be
> a different story.
>
> --Eljay
>
>
----
Lev Assinovsky
Aelita Software Corporation
O&S InTrust Framework Division, Team Leader
ICQ# 165072909
More information about the Gcc-help
mailing list