discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [cfe-dev] LLVM / Clang 3.0 rc1 Binaries Available


From: Richard Frith-Macdonald
Subject: Re: [cfe-dev] LLVM / Clang 3.0 rc1 Binaries Available
Date: Fri, 28 Oct 2011 05:51:35 +0100

On 27 Oct 2011, at 12:33, David Chisnall wrote:

> On 27 Oct 2011, at 09:14, Richard Frith-Macdonald wrote:
> 
>> Is this the compiler passing the wrong value, or possibly something wrong in 
>> the objc library?
> 
> Neither - this is the correct behaviour.  That method doesn't exist, and 
> trying to call it is supposed to throw an exception.  The problem is not that 
> the exception is thrown, it is that it is not caught.

Ah ... I guess I was fooled by gdb reporting a nil receiver in the method 
lookup callback in base.

> This means that either:
> 
> - There is a bug in libobjc2's exception handling, or
> - One of your stack frames does not have unwind information.
> 
> One of the bug changes that LLVM 3.0 made over 2.9 was to emit .cfi* 
> directives in the assembler, instead of emitting the unwind tables directly.  
> Do you get any warnings from the assembler about unknown directives when you 
> compile?

No.
Though there is a clang bug causing spurious warnings about unused options 
cluttering the output ("clang: warning: argument unused during compilation: 
'-fexec-charset=UTF-8'", "clang: warning: argument unused during compilation: 
'-shared-libgcc'" etc).  I think that's pretty harmless though, just annoying, 
and likely nothing to do with this issue.

>  Do simple @throw / @catch tests pass for you?

Yes ... the gnustep-base NSException tests pass.

> What about C++ exceptions (Sebastian - did you check that on OpenBSD?)

Yes ... the mixedException.mm tests pass.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]