aboutsummaryrefslogtreecommitdiff
path: root/libobjc/objc/runtime.h
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-10-10 11:18:57 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-10-10 11:18:57 +0000
commit2461ab4bb799e914f519d800592e49624b01f822 (patch)
tree50f7678e246b076ee7bac19c6059eedeb35e3e3d /libobjc/objc/runtime.h
parent32af57e2269904ec2a56a9918f8a054e60aa5ef4 (diff)
downloadgcc-2461ab4bb799e914f519d800592e49624b01f822.zip
gcc-2461ab4bb799e914f519d800592e49624b01f822.tar.gz
gcc-2461ab4bb799e914f519d800592e49624b01f822.tar.bz2
In libobjc/: 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/: 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h, struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h, struct_objc_method_list.h, struct_objc_module.h, struct_objc_protocol_list.h, struct_objc_symtab.h. * objc/deprecated/struct_objc_category.h: New. * objc/deprecated/struct_objc_ivar.h: New. * objc/deprecated/struct_objc_ivar_list.h: New. * objc/deprecated/struct_objc_method.h: New. * objc/deprecated/struct_objc_method_list.h: New. * objc/deprecated/struct_objc_module.h: New. * objc/deprecated/struct_objc_protocol_list.h: New. * objc/deprecated/struct_objc_symtab.h: New. * objc/deprecated/struct_objc_static_instances.h: New. * objc/objc-api.h: Definitions of deprecated structures moved into the above header fragment files in objc/deprecated/. Include the files instead of definition the structures here. Updated comments. * objc/runtime.h: Updated comments. Do not include objc-api.h. (objc_set_enumeration_mutation_handler): Renamed to objc_setEnumerationMutationHandler. * objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed to objc_setEnumerationMutationHandler. * objc/objc-exception.h (objc_set_exception_matcher): Renamed to objc_setExceptionMatcher. (objc_set_uncaught_exception_handler): Renamed to objc_setUncaughtExceptionHandler. * exception.c: Same changes. From-SVN: r165249
Diffstat (limited to 'libobjc/objc/runtime.h')
-rw-r--r--libobjc/objc/runtime.h31
1 files changed, 24 insertions, 7 deletions
diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h
index 7b16f1b..c46fe67 100644
--- a/libobjc/objc/runtime.h
+++ b/libobjc/objc/runtime.h
@@ -26,11 +26,30 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#ifndef __objc_runtime_INCLUDE_GNU
#define __objc_runtime_INCLUDE_GNU
-#include "objc.h"
+/*
+ This file declares the "modern" GNU Objective-C Runtime API.
+ Include this file to use it.
+
+ This API is replacing the "traditional" GNU Objective-C Runtime API
+ (declared in objc/objc-api.h) which is the one supported by older
+ versions of the GNU Objective-C Runtime. 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.
+*/
+/*
+#ifdef __objc_api_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
+*/
-/* The following is temporary, until all code from objc-api.h has been
- moved into this file and objc-api.h will include runtime.h. */
-#include "objc-api.h"
+/* TODO: This file is incomplete. */
+
+#include "objc.h"
/* 'objc_enumerationMutation()' is called when a collection is
mutated while being "fast enumerated". That is a hard error, and
@@ -63,7 +82,7 @@ objc_EXPORT void objc_enumerationMutation (id collection);
You probably shouldn't use this function unless you are writing
your own Foundation library.
*/
-objc_EXPORT void objc_set_enumeration_mutation_handler (void (*handler)(id));
+objc_EXPORT void objc_setEnumerationMutationHandler (void (*handler)(id));
/* This structure (used during fast enumeration) is automatically
defined by the compiler (it is as if this definition was always
@@ -82,7 +101,5 @@ struct __objcFastEnumerationState
unsigned long extra[5];
};
*/
-/* For compatibility with the Apple/NeXT runtime. */
-#define objc_setEnumerationMutationHandler objc_set_enumeration_mutation_handler
#endif