[Bug libstdc++/25191] exception_defines.h #defines try/catch

jason at redhat dot com gcc-bugzilla@gcc.gnu.org
Thu Nov 20 15:15:00 GMT 2008



------- Comment #65 from jason at redhat dot com  2008-11-20 15:14 -------
Subject: Re:  exception_defines.h #defines try/catch

No, it doesn't make any sense to use try/catch in a program that you're 
planning to build with -fno-exceptions.  It does, however, make sense to 
use try/catch in a general purpose library that you want to work with 
exceptions enabled or disabled, such as libstdc++.

I believe Lubos is arguing that such libraries ought to use preprocessor 
tricks to accomplish this, but defining something like __try and __catch 
instead of try and catch.  The difference between this approach and my 
patch is that it requires the library writer to jump through hoops to 
make their code work with exceptions enabled and disabled.  I guess 
Lubos thinks this is good, that this is an unusual thing to want to do 
and so people that want to do it need to be very explicit about it so 
that people who don't want that but mistakenly build their code with 
-fno-exceptions get an error rather than a warning.

Anyone else have an opinion about this?

And yes, -Wexceptions is on by default in my patch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25191



More information about the Gcc-bugs mailing list