aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOvidiu Predescu <ovidiu@gcc.gnu.org>2001-01-03 08:49:34 +0000
committerOvidiu Predescu <ovidiu@gcc.gnu.org>2001-01-03 08:49:34 +0000
commit406515b2766c71461217a3f2cd15bbcf19ec5dff (patch)
tree6bb3204012f2b87f03e241edba609957f91a3ecf
parent68b61df962a86291e7edcb1760084a5adb0652c8 (diff)
downloadgcc-406515b2766c71461217a3f2cd15bbcf19ec5dff.zip
gcc-406515b2766c71461217a3f2cd15bbcf19ec5dff.tar.gz
gcc-406515b2766c71461217a3f2cd15bbcf19ec5dff.tar.bz2
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
-rw-r--r--libobjc/objc/objc-api.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libobjc/objc/objc-api.h b/libobjc/objc/objc-api.h
index fe34daf..d3e22f2 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);