On 28 Feb 2011, at 12:12, David Chisnall wrote:
> On 28 Feb 2011, at 11:22, Thomas Davie wrote:
>
>> While this seems to work right, I'm getting a pretty odd behaviour with
>> enumerateObjectsUsingBlock: producing an odd log. Does anyone know what's
>> up here?
>>
>> ~/Documents/Test$ ./obj/Test
>> Calling [GSInlineArray -enumerateObjectsUsingBlock:] with incorrect
>> signature. Method has v24@0:8^{?=^vii^?}16, selector has v24@0:8@?16
>
> This is caused by the fact that you've compiled -base with a compiler without
> blocks support, but compiled your code with one that does support blocks.
>
> To hack around the lack of blocks support, GNUstep has some macros that lower
> the blocks stuff to pure C, but this means that the method expects a pointer
> to the blocks structure, while the caller is passing a pointer to a block.
> You can safely ignore the warning, but if you have a compiler that supports
> blocks then it's worth using this everywhere, or you will get some strange
> behaviour if you subclass NSRegularExpression.
>
> David
I just recompiled base to be sure – and now am sure that it's compiling with
clang. Do I need to do something extra to make sure -fblocks gets passed or is
there an extra problem here?
The version of clang both are being compiled with is 2.9 (trunk 126641).
Tom Davie
_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev