aboutsummaryrefslogtreecommitdiff
path: root/libobjc/objc/objc-api.h
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-10-10 17:43:07 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-10-10 17:43:07 +0000
commite4d508663e3f14ba9b976f45808b1398a534bf2c (patch)
tree31297c7b7c90562ff7778443d3b2187fc4b64092 /libobjc/objc/objc-api.h
parente9acb3234d6fe8d8fbbc3f6d94cc2cda45d4b11b (diff)
downloadgcc-e4d508663e3f14ba9b976f45808b1398a534bf2c.zip
gcc-e4d508663e3f14ba9b976f45808b1398a534bf2c.tar.gz
gcc-e4d508663e3f14ba9b976f45808b1398a534bf2c.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> * objc/objc-api.h: Define Method, Method_t, Category and Category_t. Prevent including this file at the same time as objc/runtime.h. Updated comments. * objc/deprecated/struct_objc_method.h: Do not define Method, Method_t. * objc/deprecated/struct_objc_category.h: Do not define Category, Category_t. * objc-private/module-abi-8.h: New file containing a copy of all the structure definitions. Not used yet. * objc/encoding.h (objc_aligned_size): Removed duplicate declaration. Updated comments. * objc/runtime.h: Added Ivar, objc_property_t, Property, Method, Category, struct objc_method_description, _C_ID and similar, _C_CONST and similar and _F_CONST and similar. Added objc_sizeof_type, objc_alignof_type, objc_aligned_size, objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec, objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers, struct objc_struct_layout, objc_layout_structure, objc_layout_structure_next_member, objc_layout_finish_structure, objc_layout_structure_get_info. Prevent including this file at the same time as objc/objc-api.h. From-SVN: r165256
Diffstat (limited to 'libobjc/objc/objc-api.h')
-rw-r--r--libobjc/objc/objc-api.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/libobjc/objc/objc-api.h b/libobjc/objc/objc-api.h
index fb60d591..eced869 100644
--- a/libobjc/objc/objc-api.h
+++ b/libobjc/objc/objc-api.h
@@ -41,11 +41,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
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
-*/
#include "objc.h"
#ifndef GNU_LIBOBJC_COMPILING_LIBOBJC_ITSELF
@@ -71,7 +69,8 @@ struct objc_method_description
char *types; /* type encoding */
};
-/* Filer types used to describe Ivars and Methods. */
+/* The following are used in encode strings to describe the type of
+ Ivars and Methods. */
#define _C_ID '@'
#define _C_CLASS '#'
#define _C_SEL ':'
@@ -103,12 +102,10 @@ struct objc_method_description
#define _C_VECTOR '!'
#define _C_COMPLEX 'j'
-/* The following one is never generated by the compiler. You can
- treat it as equivalent to "*".
-*/
+/* _C_ATOM is never generated by the compiler. You can treat it as
+ equivalent to "*". */
#define _C_ATOM '%'
-
#include "deprecated/objc_error.h"
#include "deprecated/struct_objc_static_instances.h"
@@ -117,6 +114,8 @@ struct objc_method_description
#include "deprecated/struct_objc_ivar.h"
#include "deprecated/struct_objc_ivar_list.h"
#include "deprecated/struct_objc_method.h"
+typedef struct objc_method Method, *Method_t;
+
#include "deprecated/struct_objc_method_list.h"
#include "deprecated/struct_objc_protocol_list.h"
@@ -169,9 +168,11 @@ struct objc_method_description
#include "deprecated/struct_objc_category.h"
+typedef struct objc_category Category, *Category_t;
+
/* We include message.h for compatibility with the old objc-api.h
which included the declarations currently in message.h. The
- Apple/NeXT runtime does not do this and only include message.h in
+ Apple/NeXT runtime does not do this and only includes message.h in
objc-runtime.h. It does not matter that much since most of the
definitions in message.h are runtime-specific. */
#include "message.h"