gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Slightly odd behaviour with enumerateObjectsUsingBlock:


From: David Chisnall
Subject: Re: Slightly odd behaviour with enumerateObjectsUsingBlock:
Date: Wed, 2 Mar 2011 14:45:41 +0000

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]