On 16 Feb 2009, at 16:35, Fred Kiefer wrote:

Ricardo Strausz wrote:
NSGraphicsContext.m: In function 'GSCurrentContext':
NSGraphicsContext.m:93: warning: instance variable '_gcontext' is
@private; this will be a hard error in the future
NSGraphicsContext.m: In function '+[NSGraphicsContext setCurrentContext:]':
NSGraphicsContext.m:162: error: instance variable '_gcontext' is
declared private
NSGraphicsContext.m:162: error: instance variable '_gcontext' is
declared private
gnumake[2]: *** [obj/NSGraphicsContext.m.o] Error 1
gnumake[1]: *** [libgnustep-gui.all.library.variables] Error 2
gnumake: *** [internal-all] Error 2

Error: Status 1 encountered during processing.

This looks like an actual bug in GNUstep, one which went unnoticed as no
other compiler complained about it. We set a private instance variable
of NSThread via the trick of defining a structure that maps the internal
layout of NSThread.
The problem is I don't have any other idea how to do this :-(

That's not a GNUstep bug. The code there is using @defs for its intended purpose. It's explicitly documented as making all the instance variables public in the ObjC language reference (I just checked the copy from my old NeXTstep system to be absolutely sure).

So what we have is a compiler bug.

Unfortunately, saying it's a compiler bug doesn't help us much. You could try messing around with declarations to see if you can avoid triggering the compiler bug by doing something differently, or alternatively try hacking the declaration of NSThread so the ivar is declared public (perhaps we should just do that anyway).



_______________________________________________
Bug-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to