I kind of figured.   This means that some of the functionality of classes
that I have added lately will not be usable to people using GCC based
builds.  I have been wondering, lately, when GCC will catch up or if we
should, at some point, deprecate it's use with GNUstep since it only serves
to complicate matters.

GC

[image: Mailtrack]
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&;>
Sender
notified by
Mailtrack
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&;>
10/31/19,
07:51:42 PM

On Tue, Oct 29, 2019 at 8:42 AM David Chisnall <gnus...@theravensnest.org>
wrote:

> This is not possible in the general case.
>
> A block is a structure containing:
>
>   - A pointer to the invoke function.
>   - The type info for the call.
>   - A set of references to captured variables including:
>     - Helpers to destroy any captured variables.
>     - Helpers to copy any captured variables.
>
> C macros are nowhere near expressive enough for this.  You could
> probably (just about) implement them using C++ templates, though it
> would be a lot of work.
>
> The block macros give a way of allowing functions / methods that take
> blocks to be called, so that it is possible to build GNUstep with GCC
> and link it to a program built with clang.  To date, anything that needs
> to create blocks, we have implemented a different way or conditionally
> compiled out when building with GCC.
>
> David
>
> On 27/10/2019 15:55, Gregory Casamento wrote:
> > How do I create a block using the macros?  I know how to declare one,
> > but not actually create one.   Doing it in clang is easy, but I need
> > something that will work for both....
> >
> > Any ideas?
> >
> > GC
> > --
> > Gregory Casamento
> > GNUstep Lead Developer / OLC, Principal Consultant
> > http://www.gnustep.org - http://heronsperch.blogspot.com
> > http://ind.ie/phoenix/
> >
> > Mailtrack
> > <
> https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&;>
>
> >       Sender notified by
> > Mailtrack
> > <
> https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&;>
>
> > 10/27/19, 11:53:53 AM
> >
>
>

-- 
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
http://ind.ie/phoenix/

Reply via email to