aboutsummaryrefslogtreecommitdiff
path: root/libobjc/objc/encoding.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/encoding.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/encoding.h')
-rw-r--r--libobjc/objc/encoding.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/libobjc/objc/encoding.h b/libobjc/objc/encoding.h
index 177ef72..523b129 100644
--- a/libobjc/objc/encoding.h
+++ b/libobjc/objc/encoding.h
@@ -28,6 +28,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#ifndef __encoding_INCLUDE_GNU
#define __encoding_INCLUDE_GNU
+/* This file is to be used with the "traditional" GNU Objective-C
+ Runtime API (the one declared in objc/objc-api.h). If you are
+ using the "modern" GNU Objective-C Runtime API, then the useful
+ functions from this file are declared in objc/runtime.h.
+*/
+
#include "objc-api.h"
#include <ctype.h>
@@ -35,6 +41,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
extern "C" {
#endif /* __cplusplus */
+/* The following are used in encode strings to describe some
+ qualifiers of method and ivar types. */
#define _C_CONST 'r'
#define _C_IN 'n'
#define _C_INOUT 'N'
@@ -44,6 +52,7 @@ extern "C" {
#define _C_ONEWAY 'V'
#define _C_GCINVISIBLE '|'
+/* The same when used as flags. */
#define _F_CONST 0x01
#define _F_IN 0x01
#define _F_OUT 0x02
@@ -53,7 +62,6 @@ extern "C" {
#define _F_ONEWAY 0x10
#define _F_GCINVISIBLE 0x20
-int objc_aligned_size (const char *type);
int objc_sizeof_type (const char *type);
int objc_alignof_type (const char *type);
int objc_aligned_size (const char *type);