> -----Original Message----- > From: Eljay Love-Jensen [mailto:eljay@xxxxxxxxx] > Sent: Wednesday, March 10, 2004 5:46 PM > To: Assinovsky, Lev; gcc-help@xxxxxxxxxxx > 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