discuss-gnustep
[Top][All Lists]
Advanced

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

Re: ObjectiveC runtime question: easy solution!


From: Adam Fedor
Subject: Re: ObjectiveC runtime question: easy solution!
Date: Thu, 19 May 2005 08:59:49 -0600

Possible. __builtin_apply isn't really supported by the gcc team, but if you are just working on windows, you only have to deal with making sure it works on that platform.


On May 19, 2005, at 1:01 AM, Lloyd Dupont wrote:

I could write something like that:
 
DLL_EXPORT void* objcsharp_msg_send(id obj, SEL sel, ...)
{
 void* args = __builtin_apply_args();
 IMP imp = objc_msg_lookup(obj, sel);
 size_t argsize = 20 * sizeof(int);
 __builtin_return ( __builtin_apply((void(*)())imp, args, argsize) );
}
I have to look at some code to find the correct value of argsize.
but that's the simpliest solution, by far!
 
----- Original Message -----
From: Lloyd Dupont
To: Lloyd Dupont ; GNUstep Discussion
Sent: Thursday, May 19, 2005 1:42 PM
Subject: Re: ObjectiveC runtime question

I'm trying something like
DLL_EXPORT void* objcsharp_msg_send(id obj, SEL sel, ...)
{
  return objc_msg_sendv(obj, sel, __builtin_apply_args ());
}
but that's apparently not correct.....

 
----- Original Message -----
From: Lloyd Dupont
To: GNUstep Discussion
Sent: Thursday, May 19, 2005 12:14 PM
Subject: ObjectiveC runtime question

I'm trying to write a binding from an other language to ObjectiveC
I was thinking to relay method call by using something like
objc_msg_sendv(id, SEL, ...);
 
but it's not exactely the case it's
objc_msg_sendv(id, SEL, arglist_t);
 
which mean it doesn't work like a vararg function how could I translate that?
 
I was thinking of something like:
 
myobjc_msg_send(id obj, SEL mtdh, ...)
{
    objc_msg_sendv(obj, mthd, arglist);
}
 
now the question is how to generate a arglist_t from a va_list?
or any other suggestion?

_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep





reply via email to

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