summaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authorovidiu <ovidiu@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-03 08:49:34 +0000
committerovidiu <ovidiu@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-03 08:49:34 +0000
commit577f8dd1164b1807b993695ba1047d80dbfd093f (patch)
tree6bb3204012f2b87f03e241edba609957f91a3ecf /libobjc
parente4ea0e73284e7707a43c8fa0630f5bf26a0abde3 (diff)
downloadgcc-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.h7
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);