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