The other form works for both msvc and gcc (see
http://codepad.org/VxF4pBHg for a proof (well, a proof that it
compiles with gcc, or at least a version of gcc)) so the #ifdef isn't
necessary, just use __VA_ARGS__ version. I verified that it compiles
with msvc 2005.
-- kjk
On Sun, Apr 27, 2008 at 2:18 PM, Aaron Gray
<[EMAIL PROTECTED]> wrote:
> Just signed onto fonc mailing list and am also in early stages of looking at
> MS VC porting of idc.
>
> Basically your going to have to do a #ifdef for the MS platforms.
>
> you need a comma and also a __VA_ARGS__ rather than a ##ARG, something like
> :-
>
> #ifndef _MSC_VER
>
> #define _send(MSG, RCV, ARG...) ({ \
> register oop _r= (RCV); \
> struct __closure *_c= (struct __closure *)_libid->bind((MSG), _r); \
> (_c->method)((oop)_c, _r, _r, ##ARG); \
> })
>
> #else
>
> #define _send(MSG, RCV, ...) ({ \
> register oop _r= (RCV); \
> struct __closure *_c= (struct __closure *)_libid->bind((MSG), _r); \
> (_c->method)((oop)_c, _r, _r, __VA_ARGS__); \
> })
>
> #endif
>
> Watch out for wrapped lines :)
>
> I have not tried the above as of yet but it should work.
>
> Aaron
> _______________________________________________
> fonc mailing list
> [email protected]
> http://vpri.org/mailman/listinfo/fonc
>
>
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc