Le 30 juin 2011 à 14:24, David Chisnall a écrit :

> On 30 Jun 2011, at 13:21, Quentin Mathé wrote:
> 
>> EtoileThread builds just fine when I invoke make in the parent directory (EF 
>> main directory), but reports various errors 'ivars may not be placed in 
>> class extension' for ETObjectPipe, when 'make' is invoked directly in the 
>> EtoileThread directory. I'm not even sure to understand the purpose behind 
>> this Clang message…  Is it expected to report identically named ivars 
>> declared in superclasses or in @interface? Could this be a bug in Clang?
> 
> Ivars in a class extension require the non-fragile ABI.  This is probably set 
> in EF and imported in the subdirectory, but omitted in the subdirectory's 
> makefile.

Indeed, that's the issue.

We have in EtoileFoundation/GNUmakefile:
ifeq ($CC, clang)
ADDITIONAL_OBJCFLAGS += -fobjc-nonfragile-abi -fblocks
endif

I suppose we always want to pass the flags every time we compile a project with 
Clang, right?

If that's the case, I'll move these flags to etoile.make to solve the problem.

Cheers,
Quentin.
_______________________________________________
Etoile-dev mailing list
Etoile-dev@gna.org
https://mail.gna.org/listinfo/etoile-dev

Reply via email to