diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2010-12-19 13:40:16 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2010-12-19 13:40:16 +0000 |
commit | 2899534b2c76c416d71d077c396f2396a784c4c5 (patch) | |
tree | cd479bee4a6e5fdacbb1bc51fc317ee5038c41ca /libobjc/objc | |
parent | a6fed83ffa62aa01d7add21c9d2b36ba12efb731 (diff) | |
download | gcc-2899534b2c76c416d71d077c396f2396a784c4c5.zip gcc-2899534b2c76c416d71d077c396f2396a784c4c5.tar.gz gcc-2899534b2c76c416d71d077c396f2396a784c4c5.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>
* objc/encoding.h: Updated comments.
* objc/runtime.h: Updated comments.
(objc_setGetUnknownClassHandler): Mark with objc_EXPORT.
(objc_sizeof_type): Same.
(objc_alignof_type): Same.
(objc_aligned_size): Same.
(objc_promoted_size): Same.
(objc_skip_type_qualifiers): Same.
(objc_skip_typespec): Same.
(objc_skip_offset): Same.
(objc_skip_argspec): Same.
(objc_get_type_qualifiers): Same.
(objc_layout_structure): Same.
(objc_layout_structure_next_member): Same.
(objc_layout_finish_structure): Same.
(objc_layout_structure_get_info): Same.
From-SVN: r168051
Diffstat (limited to 'libobjc/objc')
-rw-r--r-- | libobjc/objc/encoding.h | 14 | ||||
-rw-r--r-- | libobjc/objc/runtime.h | 41 |
2 files changed, 29 insertions, 26 deletions
diff --git a/libobjc/objc/encoding.h b/libobjc/objc/encoding.h index 523b129..6d98a39 100644 --- a/libobjc/objc/encoding.h +++ b/libobjc/objc/encoding.h @@ -31,8 +31,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* 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. -*/ + functions from this file are declared in objc/runtime.h. */ #include "objc-api.h" #include <ctype.h> @@ -71,9 +70,15 @@ const char *objc_skip_type_qualifiers (const char *type); const char *objc_skip_typespec (const char *type); const char *objc_skip_offset (const char *type); const char *objc_skip_argspec (const char *type); +unsigned objc_get_type_qualifiers (const char *type); + +/* The following functions are replaced, in the modern API, by + method_getNumberOfArguments(), method_getArgumentType(). */ int method_get_number_of_arguments (struct objc_method *); int method_get_sizeof_arguments (struct objc_method *); +/* The following functions are deprecated and they use arglist_t which + is deprecated. */ char *method_get_first_argument (struct objc_method *, arglist_t argframe, const char **type); @@ -84,10 +89,7 @@ char *method_get_nth_argument (struct objc_method *m, int arg, const char **type); -unsigned objc_get_type_qualifiers (const char *type); - - -struct objc_struct_layout +struct objc_struct_layout { const char *original_type; const char *type; diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h index de8f701..5f0274e 100644 --- a/libobjc/objc/runtime.h +++ b/libobjc/objc/runtime.h @@ -410,6 +410,7 @@ typedef Class (*objc_get_unknown_class_handler)(const char *class_name); This function is not safe to call in a multi-threaded environment because other threads may be trying to use the get unknown class handler while you change it! */ +objc_EXPORT objc_get_unknown_class_handler objc_setGetUnknownClassHandler (objc_get_unknown_class_handler new_handler); @@ -971,21 +972,21 @@ objc_EXPORT void objc_free(void *mem); /* Return the size of a variable which has the specified 'type' encoding. */ -int objc_sizeof_type (const char *type); +objc_EXPORT int objc_sizeof_type (const char *type); /* Return the align of a variable which has the specified 'type' encoding. */ -int objc_alignof_type (const char *type); +objc_EXPORT int objc_alignof_type (const char *type); /* Return the aligned size of a variable which has the specified 'type' encoding. The aligned size is the size rounded up to the nearest alignment. */ -int objc_aligned_size (const char *type); +objc_EXPORT int objc_aligned_size (const char *type); /* Return the promoted size of a variable which has the specified 'type' encoding. This is the size rounded up to the nearest integral of the wordsize, taken to be the size of a void *. */ -int objc_promoted_size (const char *type); +objc_EXPORT int objc_promoted_size (const char *type); /* The following functions are used when parsing the type encoding of @@ -998,30 +999,30 @@ int objc_promoted_size (const char *type); /* Skip some type qualifiers (_C_CONST, _C_IN, etc). These may eventually precede typespecs occurring in method prototype encodings. */ -const char *objc_skip_type_qualifiers (const char *type); +objc_EXPORT const char *objc_skip_type_qualifiers (const char *type); /* Skip one typespec element (_C_CLASS, _C_SEL, etc). If the typespec is prepended by type qualifiers, these are skipped as well. */ -const char *objc_skip_typespec (const char *type); +objc_EXPORT const char *objc_skip_typespec (const char *type); /* Skip an offset. */ -const char *objc_skip_offset (const char *type); +objc_EXPORT const char *objc_skip_offset (const char *type); /* Skip an argument specification (ie, skipping a typespec, which may include qualifiers, and an offset too). */ -const char *objc_skip_argspec (const char *type); +objc_EXPORT const char *objc_skip_argspec (const char *type); /* Read type qualifiers (_C_CONST, _C_IN, etc) from string 'type' (stopping at the first non-type qualifier found) and return an unsigned int which is the logical OR of all the corresponding flags (_F_CONST, _F_IN etc). */ -unsigned objc_get_type_qualifiers (const char *type); +objc_EXPORT unsigned objc_get_type_qualifiers (const char *type); /* Note that the following functions work for very simple structures, but get easily confused by more complicated ones (for example, - containing vectors). A better solution is required. -*/ + containing vectors). A better solution is required. These + functions are likely to change in the next GCC release. */ /* The following three functions can be used to determine how a structure is laid out by the compiler. For example: @@ -1054,16 +1055,16 @@ struct objc_struct_layout unsigned int record_align; }; -void objc_layout_structure (const char *type, +objc_EXPORT void objc_layout_structure (const char *type, struct objc_struct_layout *layout); -BOOL objc_layout_structure_next_member (struct objc_struct_layout *layout); -void objc_layout_finish_structure (struct objc_struct_layout *layout, - unsigned int *size, - unsigned int *align); -void objc_layout_structure_get_info (struct objc_struct_layout *layout, - unsigned int *offset, - unsigned int *align, - const char **type); +objc_EXPORT BOOL objc_layout_structure_next_member (struct objc_struct_layout *layout); +objc_EXPORT void objc_layout_finish_structure (struct objc_struct_layout *layout, + unsigned int *size, + unsigned int *align); +objc_EXPORT void objc_layout_structure_get_info (struct objc_struct_layout *layout, + unsigned int *offset, + unsigned int *align, + const char **type); #ifdef __cplusplus } |