aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc/sendmsg.c
diff options
context:
space:
mode:
authorKresten Krab Thorup <krab@gcc.gnu.org>1993-04-27 20:36:53 +0000
committerKresten Krab Thorup <krab@gcc.gnu.org>1993-04-27 20:36:53 +0000
commitd5247e3ea2d8aac62cd61c80c4a68f1efb19e675 (patch)
tree1e50bdfb275719021c180e530315e1fb057eca48 /gcc/objc/sendmsg.c
parentc3b80729bb95b2137da7039f489c6de1092ed4ef (diff)
downloadgcc-d5247e3ea2d8aac62cd61c80c4a68f1efb19e675.zip
gcc-d5247e3ea2d8aac62cd61c80c4a68f1efb19e675.tar.gz
gcc-d5247e3ea2d8aac62cd61c80c4a68f1efb19e675.tar.bz2
Changed to use argframe macros
From-SVN: r4253
Diffstat (limited to 'gcc/objc/sendmsg.c')
-rw-r--r--gcc/objc/sendmsg.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/objc/sendmsg.c b/gcc/objc/sendmsg.c
index b8ffed6..1c5c663 100644
--- a/gcc/objc/sendmsg.c
+++ b/gcc/objc/sendmsg.c
@@ -25,6 +25,7 @@ You should have received a copy of the GNU General Public License along with
covered by the GNU General Public License. */
#include "runtime.h"
+#include "argframe.h"
#ifdef OBJC_SPARSE_LOOKUP
const char* __objc_sparse_lookup_id = "Method lookup uses sparse arrays";
@@ -110,11 +111,13 @@ objc_msg_lookup_super (Super_t super, SEL sel)
}
retval_t
-objc_msg_sendv(id object, SEL op, size_t frame_size, arglist_t arg_frame)
+objc_msg_sendv(id object, SEL op, size_t frame_size, af_frame arg_frame)
{
-#ifdef __objc_frame_receiver
- __objc_frame_receiver(arg_frame) = object;
- __objc_frame_selector(arg_frame) = op;
+#ifndef __ARGFRAME_DOES_NOT_WORK
+ af_cum cum;
+ af_start (cum, arg_frame);
+ af_put (arg_frame, cum, id, object);
+ af_put (arg_frame, cum, SEL, op);
return __builtin_apply((apply_t)get_imp(object->class_pointer, op),
arg_frame,
frame_size);