llvm/clang 3.0-1 silently ignores C++ exception handling

Christian Franke Christian.Franke@t-online.de
Fri Feb 3 21:10:00 GMT 2012


Yaakov (Cygwin/X) wrote:
> On Wed, 2012-02-01 at 20:55 +0100, Christian Franke wrote:
>> Yaakov (Cygwin/X) wrote:
>>> On Tue, 2012-01-31 at 19:41 +0100, Christian Franke wrote:
>>>> Clang++ 3.0-1 does not produce any exception handling code. Unwind
>>>> tables and code within catch(.) {...} blocks are not generated. Throw
>>>> always abort()s program.
>>>>
>>>> Is this as excepted?
>>> As best as I can tell, this is an upstream limitation.
>> Yes, http://llvm.org/bugs/show_bug.cgi?id=11285
> Much as I suspected, although you'd think such an unfortunate limitation
> would be documented somewhere.

A probably simple way would be:
- set default to -fno-exceptions,
- print a warning if -fexceptions is specified.

Then compilation fails if exceptions or C++ standard library are used. 
Option -fexception could be enabled if exceptions are used only to 
handle fatal errors like allocation or assertion failures which is the 
case for the standard library.


>
> I honestly don't have the time or expertise to implement this right now,
> so I'm afraid this is an upstream case of PTC.

Yes, see last comment in upstream bug entry.

BTW: Thanks for packaging this!

Christian


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list