summaryrefslogtreecommitdiff
path: root/Objective-C
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-15 13:48:06 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-15 13:48:06 +0100
commit0b12205917b829ac63a17c63ab07d79d69249324 (patch)
tree6a642608b31a34b8efddb626335beb37339e2fde /Objective-C
parent17aeae082fda67704ec0835b20e2412573775b2b (diff)
Objective-C layer: Add a note about returning structs on the NeXT runtime.
darcs-hash:e6b30d57740c3f224a8c20eef95d244deddc6f9b
Diffstat (limited to 'Objective-C')
-rw-r--r--Objective-C/libobjcl.m12
1 files changed, 12 insertions, 0 deletions
diff --git a/Objective-C/libobjcl.m b/Objective-C/libobjcl.m
index 0713b34..9af9960 100644
--- a/Objective-C/libobjcl.m
+++ b/Objective-C/libobjcl.m
@@ -141,6 +141,18 @@ objcl_invoke_with_types (int argc,
NS_DURING
{
TRACE (@"get-method");
+ /* FIXME: The NeXT runtime wants to use special functions for
+ structure and floating-point returns.
+
+ Note that there is no objc_msgSendSuper_fpret. The reason is
+ that objc_msgSendSuper will never be passed nil as the instance
+ to call a method on, while using objc_msgSend_fpret is
+ important only so that sending a message to nil may return a
+ sane value.
+
+ Which means that if we don't allow nil to be messaged, we
+ probably don't need to bother with objc_msgSend_fpret,
+ either. */
method = objcl_get_method_implementation (receiver, method_selector,
superclass_for_send_super);
TRACE (@"method == NULL");