diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2010-12-19 02:12:42 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2010-12-19 02:12:42 +0000 |
commit | 120d5f8ea40c87b7451278186dc60849e5455af9 (patch) | |
tree | 2741b3549f5b11c253ebb01486885c0ed2703860 /libobjc/objc | |
parent | c34fc9884e9fef948e8b99a436d6f6d0eaf84130 (diff) | |
download | gcc-120d5f8ea40c87b7451278186dc60849e5455af9.zip gcc-120d5f8ea40c87b7451278186dc60849e5455af9.tar.gz gcc-120d5f8ea40c87b7451278186dc60849e5455af9.tar.bz2 |
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
* init.c: Updated comments.
* objc/objc-api.h: Updated comments.
* objc/runtime.h (_objc_load_callback): Declare.
From-SVN: r168044
Diffstat (limited to 'libobjc/objc')
-rw-r--r-- | libobjc/objc/objc-api.h | 35 | ||||
-rw-r--r-- | libobjc/objc/runtime.h | 8 |
2 files changed, 28 insertions, 15 deletions
diff --git a/libobjc/objc/objc-api.h b/libobjc/objc/objc-api.h index d31e13f..521f79e 100644 --- a/libobjc/objc/objc-api.h +++ b/libobjc/objc/objc-api.h @@ -26,25 +26,28 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #ifndef __objc_api_INCLUDE_GNU #define __objc_api_INCLUDE_GNU -/* - This file declares the "traditional" GNU Objective-C Runtime API. - It is the API supported by older versions of the GNU Objective-C - Runtime. Include this file to use it. - - This API is being replaced by the "modern" GNU Objective-C Runtime - API, which is declared in objc/runtime.h. The "modern" API is very - similar to the API used by the modern Apple/NeXT runtime. - - Because the two APIs have some conflicting definitions (in - particular, Method and Category are defined differently) you should - include either objc/objc-api.h (to use the traditional GNU - Objective-C Runtime API) or objc/runtime.h (to use the modern GNU - Objective-C Runtime API), but not both. -*/ +/* This file declares the "traditional" GNU Objective-C Runtime API. + It is the API supported by older versions of the GNU Objective-C + Runtime. Include this file to use it. + + This API is being replaced by the "modern" GNU Objective-C Runtime + API, which is declared in objc/runtime.h. The "modern" API is very + similar to the API used by the modern Apple/NeXT runtime. + + The last version of GCC supporting the traditional API is GCC 4.6. + This file will not exist in later versions of GCC. + + Because the two APIs have some conflicting definitions (in + particular, Method and Category are defined differently) you should + include either objc/objc-api.h (to use the traditional GNU + Objective-C Runtime API) or objc/runtime.h (to use the modern GNU + Objective-C Runtime API), but not both. */ #ifdef __objc_runtime_INCLUDE_GNU # 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: A deprecation warning any time the file is included ? */ + #include "objc.h" #ifndef GNU_LIBOBJC_COMPILING_LIBOBJC_ITSELF # include "deprecated/hash.h" @@ -182,6 +185,8 @@ typedef struct objc_category Category, *Category_t; ** objc_get_class if the runtime is not able to find the class. ** This may e.g. try to load in the class using dynamic loading. ** The function is guaranteed to be passed a non-NULL name string. +** In the Modern API, this is replaced by +** objc_setGetUnknownClassHandler (). */ objc_EXPORT Class (*_objc_lookup_class)(const char *name); diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h index 94f5bf7..de8f701 100644 --- a/libobjc/objc/runtime.h +++ b/libobjc/objc/runtime.h @@ -876,6 +876,14 @@ objc_EXPORT Protocol **protocol_copyProtocolList (Protocol *protocol, unsigned i /* 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 + class or a category is loaded into the runtime. This may e.g. help + a dynamic loader determine the classes that have been loaded when + an object file is dynamically linked in. */ +objc_EXPORT void (*_objc_load_callback)(Class _class, struct objc_category *category); + /** Implementation: the following functions are in objc-foreach.c. */ |