On 2 Mar 2011, at 12:57, Thomas Davie wrote: > > On 2 Mar 2011, at 12:36, David Chisnall wrote: > >> On 28 Feb 2011, at 14:24, Thomas Davie wrote: >> >>> Certain, a make clean, and make messages=yes reveals clang is being called >>> with -fblocks, and I still get the log output after a fresh make install. >> >> Can you try adding -E to the OBJCFLAGS and see what the preprocessed output >> is showing for your NSArray.h? >> >> The type for the argument is GSEnumeratorBlock. If you have compiled with >> blocks support, then this should be a typedef for a block type. If you have >> compiled without, then it is a pointer to a structure type. >> >> The fact that you're getting @? for the caller implies that it's generating >> the correct type encoding when you call the block, so I'm a bit confused as >> to why you wouldn't get it otherwise. > > The preprocessed output gives me > typedef void(^GSEnumeratorBlock)(id, NSUInteger, BOOL*);
In that case, I don't see how you can be seeing the behaviour that you are seeing. The compiler is seeing GSEnumeratorBlock as a block type, so it will never be generating type encodings for it as a structure. The only thing that I can think of is that you somehow did not do a completely clean build. David -- Sent from my IBM 1620 _______________________________________________ Gnustep-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnustep-dev
