diff options
author | ovidiu <ovidiu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-03 08:49:34 +0000 |
---|---|---|
committer | ovidiu <ovidiu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-03 08:49:34 +0000 |
commit | 577f8dd1164b1807b993695ba1047d80dbfd093f (patch) | |
tree | 6bb3204012f2b87f03e241edba609957f91a3ecf /libobjc | |
parent | e4ea0e73284e7707a43c8fa0630f5bf26a0abde3 (diff) | |
download | gcc-577f8dd1164b1807b993695ba1047d80dbfd093f.tar.gz |
Added __objc_msg_forward, a hook that allows external libraries to
provide a function that returns the real forwarding function. This can
alleviate problems __builtin_apply() and friends have on various
platforms. (Solution suggested by Helge Hess.)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38651 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc')
-rw-r--r-- | libobjc/objc/objc-api.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libobjc/objc/objc-api.h b/libobjc/objc/objc-api.h index fe34dafb895..d3e22f2088d 100644 --- a/libobjc/objc/objc-api.h +++ b/libobjc/objc/objc-api.h @@ -414,6 +414,13 @@ extern void *(*_objc_realloc)(void *, size_t); extern void *(*_objc_calloc)(size_t, size_t); extern void (*_objc_free)(void *); +/* +** Hook for method forwarding. This makes it easy to substitute a +** library, such as ffcall, that implements closures, thereby avoiding +** gcc's __builtin_apply problems. +*/ +extern IMP (*__objc_msg_forward)(SEL); + Method_t class_get_class_method(MetaClass class, SEL aSel); Method_t class_get_instance_method(Class class, SEL aSel); |