This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/25191] exception_defines.h #defines try/catch
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Sep 2008 12:40:51 -0000
- Subject: [Bug libstdc++/25191] exception_defines.h #defines try/catch
- References: <bug-25191-11686@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #52 from rguenth at gcc dot gnu dot org 2008-09-22 12:40 -------
Can we please have
"1) -fno-exceptions
This flag turns off C++ exception handling support, which is indicated at
compile time by __GXX_EXCEPTIONS being undefined. Use of the keywords try,
catch, or throw produces an error. As a result, use of most C++ includes will
fail."
of comment #46 simply by the original suggestion, make the standard library
use __try and __catch and change libsupc++/exception_defines.h accordingly?
Appearantly the library wants to work without exception support, but this
support needs to be implemented in a way not messing with standard C++
keywords.
Note the frontend already undefines __EXCEPTIONS for -fno-exceptions:
>g++ -dD -E t.C | grep EXCE
#define __EXCEPTIONS 1
> g++ -dD -E t.C -fno-exceptions | grep EXCE
The frontend also produces an error if try or catch are used with
-fno-exceptions, but the _standard library implementation_ causes this
error do disappear(!) Which is what this bug is about really.
It seems the library maintainers are not willing to see this problem.
Asking for a new C++ frontend feature as an excuse to not fix the
library problem is very lame IMHO.
So can we please - finally - do something about this?
Thank you very much.
Richard.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail|4.1.3 4.3.0 |4.1.3 4.3.0 4.4.0
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25191