delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
X-SWARE-Spam-Status: | No, hits=-0.5 required=5.0 tests=AWL,BAYES_00,SPF_NEUTRAL |
X-Spam-Check-By: | sourceware.org |
Message-ID: | <4F29470B.7010109@cs.utoronto.ca> |
Date: | Wed, 01 Feb 2012 09:07:07 -0500 |
From: | Ryan Johnson <ryan DOT johnson AT cs DOT utoronto DOT ca> |
User-Agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 |
MIME-Version: | 1.0 |
To: | cygwin AT cygwin DOT com |
Subject: | Re: llvm/clang 3.0-1 silently ignores C++ exception handling |
References: | <4F2835F0 DOT 5050704 AT t-online DOT de> <1328068369 DOT 5448 DOT 6 DOT camel AT YAAKOV04> <4F28D9ED DOT 7040703 AT t-online DOT de> |
In-Reply-To: | <4F28D9ED.7040703@t-online.de> |
X-IsSubscribed: | yes |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |