David, Thank you. PC-BSD, FreeBSD, and OSX were all using the Modern runtime settings and would work on those platforms by default. Ubuntu's clang i guess does not have this as a default so I couldn't get it to work. Fixed by building with -fobjc-nonfragile-abi on debian/ubuntu.
Tom On Apr 29, 2014, at 2:31 AM, David Chisnall <[email protected]> wrote: > On 29 Apr 2014, at 04:32, Tom Bruno <[email protected]> wrote: > >> I'm currently using libobjc2 and clang 3.4. I was researching how NSObject >> is implemented just learning the ins and outs (I'm very interested in the >> memory management and such). >> >> One of the things I've noticed is that placing variables in @implementation >> does not work on linux but seems to work fine on osx like this (Sources at >> end of email): >> >> #import <objc/runtime.h> >> >> @implementation MAObject { >> Class isa; >> volatile int32_t retainCount; >> } >> >> >> The compiler complains isa and retainCount do not exist. I've kindof put >> together that only OSX 64bit mode will work with this code. Is this a >> limitation in libobjc2 or clang on linux itself? Is there something we can >> do to support this new syntax? > > This should work, however you will need to make sure that you are compiling > for a modern ABI. Do your OBJCFLAGS contain either -fobjc-nonfragile-abi, or > (ideally) -fobjc-runtime=gnustep-1.7. > > David > > > > > -- Sent from my Cray X1
_______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
