aboutsummaryrefslogtreecommitdiff
path: root/libobjc/objc
diff options
context:
space:
mode:
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-19 16:04:55 +0000
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-19 16:04:55 +0000
commit658baf2acaae87f8520486a9c96c6beef09fde75 (patch)
tree63f8b51d314600b71e1e175e389c5d7bd3a61efc /libobjc/objc
parent1e1a3ecee9423b3450cd76b92b376ee39a8924ac (diff)
In libobjc/:
2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc/message.h: Updated comments. * objc/runtime.h: Updated comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168062 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc/objc')
-rw-r--r--libobjc/objc/message.h5
-rw-r--r--libobjc/objc/runtime.h32
2 files changed, 29 insertions, 8 deletions
diff --git a/libobjc/objc/message.h b/libobjc/objc/message.h
index 9d5e6d8e657..8d03fefe4b6 100644
--- a/libobjc/objc/message.h
+++ b/libobjc/objc/message.h
@@ -130,10 +130,7 @@ objc_EXPORT IMP objc_msg_lookup_super (struct objc_super *super, SEL sel);
built-in forwarding with one based on a library, such as ffi, that
implement closures, thereby avoiding gcc's __builtin_apply
problems. __objc_msg_forward2's result will be preferred over that
- of __objc_msg_forward if both are set and return non-NULL.
-
- TODO: The API should define objc_set_msg_forward_handler () or
- similar instead of these hooks. */
+ of __objc_msg_forward if both are set and return non-NULL. */
objc_EXPORT IMP (*__objc_msg_forward)(SEL);
objc_EXPORT IMP (*__objc_msg_forward2)(id, SEL);
diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h
index 758d2d07f01..8d380156e41 100644
--- a/libobjc/objc/runtime.h
+++ b/libobjc/objc/runtime.h
@@ -45,8 +45,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# error You can not include both objc/objc-api.h and objc/runtime.h. Include objc/objc-api.h for the traditional GNU Objective-C Runtime API and objc/runtime.h for the modern one.
#endif
-/* TODO: This file is incomplete. */
-
#include "objc.h"
#include "objc-decls.h"
@@ -875,8 +873,6 @@ objc_EXPORT Property *protocol_copyPropertyList (Protocol *protocol, unsigned in
objc_EXPORT Protocol **protocol_copyProtocolList (Protocol *protocol, unsigned int *numberOfReturnedProtocols);
-/* TODO: Add all the other functions in the API. */
-
/** Implementation: the following hook is in init.c. */
/* This is a hook which is called by __objc_exec_class every time a
@@ -937,6 +933,28 @@ struct __objcFastEnumerationState
*/
+/* Compatibility Note: The Apple/NeXT runtime has the functions
+ objc_copyImageNames (), class_getImageName () and
+ objc_copyClassNamesForImage () but they are undocumented. The GNU
+ runtime does not have them at the moment. */
+
+/* Compatibility Note: The Apple/NeXT runtime has the functions
+ objc_setAssociatedObject (), objc_getAssociatedObject (),
+ objc_removeAssociatedObjects () and the objc_AssociationPolicy type
+ and related enum. The GNU runtime does not have them yet.
+ TODO: Implement them. */
+
+/* Compatibility Note: The Apple/NeXT runtime has the function
+ objc_setForwardHandler (). The GNU runtime does not have it
+ because messaging (and, in particular, forwarding) works in a
+ different (incompatible) way with the GNU runtime. If you need to
+ customize message forwarding at the Objective-C runtime level (that
+ is, if you are implementing your own "Foundation" library such as
+ GNUstep Base on top of the Objective-C runtime), in objc/message.h
+ there are hooks (that work in the framework of the GNU runtime) to
+ do so. */
+
+
/** Implementation: the following functions are in memory.c. */
/* Traditional GNU Objective-C Runtime functions that are used for
@@ -964,6 +982,12 @@ objc_EXPORT void objc_free(void *mem);
/** Implementation: the following functions are in gc.c. */
+/* The GNU Objective-C Runtime has a different implementation of
+ garbage collection.
+
+ Compatibility Note: these functions are not available with the
+ Apple/NeXT runtime. */
+
/* Mark the instance variable as inaccessible to the garbage
collector. */
objc_EXPORT void class_ivar_set_gcinvisible (Class _class,