diff options
author | Ovidiu Predescu <ovidiu@gcc.gnu.org> | 2001-01-03 08:49:34 +0000 |
---|---|---|
committer | Ovidiu Predescu <ovidiu@gcc.gnu.org> | 2001-01-03 08:49:34 +0000 |
commit | 406515b2766c71461217a3f2cd15bbcf19ec5dff (patch) | |
tree | 6bb3204012f2b87f03e241edba609957f91a3ecf /libobjc/objc | |
parent | 68b61df962a86291e7edcb1760084a5adb0652c8 (diff) | |
download | gcc-406515b2766c71461217a3f2cd15bbcf19ec5dff.tar.gz |
Added __objc_msg_forward...
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.)
From-SVN: r38651
Diffstat (limited to 'libobjc/objc')
-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); |