From 5885fd196a7bf78ec081d3c0ced89d77a35fa09b Mon Sep 17 00:00:00 2001 From: theraven Date: Thu, 9 Sep 2010 10:47:50 +0000 Subject: [PATCH] Add defines for ObjC types (GNUstep apparently uses them, even though they are not part of the language spec, but the things that they define are, so they only serve to obfuscate code where they are used). --- objc/runtime.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/objc/runtime.h b/objc/runtime.h index ed97450..373841b 100644 --- a/objc/runtime.h +++ b/objc/runtime.h @@ -330,4 +330,42 @@ static const id self = nil; #define objc_msgSendSuper(super, op, ...) objc_msg_lookup_super(super, op)((super)->receiver, op, ## __VA_ARGS__) +#define _C_ID '@' +#define _C_CLASS '#' +#define _C_SEL ':' +#define _C_BOOL 'B' + +#define _C_CHR 'c' +#define _C_UCHR 'C' +#define _C_SHT 's' +#define _C_USHT 'S' +#define _C_INT 'i' +#define _C_UINT 'I' +#define _C_LNG 'l' +#define _C_ULNG 'L' +#define _C_LNG_LNG 'q' +#define _C_ULNG_LNG 'Q' + +#define _C_FLT 'f' +#define _C_DBL 'd' + +#define _C_BFLD 'b' +#define _C_VOID 'v' +#define _C_UNDEF '?' +#define _C_PTR '^' + +#define _C_CHARPTR '*' +#define _C_ATOM '%' + +#define _C_ARY_B '[' +#define _C_ARY_E ']' +#define _C_UNION_B '(' +#define _C_UNION_E ')' +#define _C_STRUCT_B '{' +#define _C_STRUCT_E '}' +#define _C_VECTOR '!' + +#define _C_COMPLEX 'j' +#define _C_CONST 'r' + #endif // __LIBOBJC_RUNTIME_H_INCLUDED__