This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



On 01/02/2012 1:21 AM, 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.  Please feel free
to take it upstream.



OK, I'll do.


Must be at least somewhat Cygwin specific. Clang on i686 Linux generates exception handling code properly (tested with clang 2.9 on Debian).
I have vague memories that Clang doesn't support SJLJ exceptions, and further vague memories that Cygwin favors SJLJ because dwarf exceptions interact badly with The Windows Way of doing things. That could be your problem, assuming my vague memories aren't completely out of date.

Either way, tho, it's a bit strange that the compiler doesn't squawk at you. Clang prides itself on having good diagnostics, and it's not exactly a small semantic change to silently replace throw with abort().

Ryan


-- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]