Differences From Artifact [d5822f4845]:
- File src/runtime/ObjFW-RT.h — part of check-in [7e5c81e186] at 2018-01-03 19:49:46 on branch trunk — Update copyright notice (user: js, size: 8831) [annotate] [blame] [check-ins using]
- File
src/runtime/ObjFW_RT.h
— part of check-in
[0f42b0eafd]
at
2018-01-21 22:16:23
on branch trunk
— Allow building the runtime as a .framework
This also renames ObjFW-RT to ObjFW_RT, as hyphens should not be in
framework names. (user: js, size: 8831) [annotate] [blame] [check-ins using]
To Artifact [75ca2f1db8]:
- File
src/runtime/ObjFW_RT.h
— part of check-in
[fe2cbe0021]
at
2018-04-22 16:13:04
on branch trunk
— runtime: Define BOOL to be the same as bool
As we define the ABI, we can just replace BOOL with bool everywhere,
including in ObjFW itself. For the Apple platforms where BOOL and bool
are different, this is not a problem as BOOL and bool are passed and
returned the same way in the ABI.This still defines BOOL to bool for compatibility, except on AmigaOS and
Wii, which both have its own BOOL type. (user: js, size: 8834) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
51 52 53 54 55 56 57 | #if !__has_feature(objc_arc) && !defined(__unsafe_unretained) # define __unsafe_unretained #endif #define Nil (Class _Null_unspecified)0 #define nil (id _Null_unspecified)0 | | | > | > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | #if !__has_feature(objc_arc) && !defined(__unsafe_unretained) # define __unsafe_unretained #endif #define Nil (Class _Null_unspecified)0 #define nil (id _Null_unspecified)0 #define YES true #define NO false typedef struct objc_class *Class; typedef struct objc_object *id; typedef const struct objc_selector *SEL; #if !defined(OF_WII) && !defined(OF_AMIGAOS) typedef bool BOOL; #endif typedef id _Nullable (*IMP)(id _Nonnull, SEL _Nonnull, ...); typedef void (*objc_uncaught_exception_handler)(id _Nullable); typedef void (*objc_enumeration_mutation_handler)(id _Nonnull); struct objc_class { Class _Nonnull isa; Class _Nullable superclass; |
︙ | ︙ | |||
245 246 247 248 249 250 251 | extern void objc_setEnumerationMutationHandler( objc_enumeration_mutation_handler _Nullable); extern void objc_zero_weak_references(id _Nonnull); # ifdef __cplusplus } # endif #else | < < | 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | extern void objc_setEnumerationMutationHandler( objc_enumeration_mutation_handler _Nullable); extern void objc_zero_weak_references(id _Nonnull); # ifdef __cplusplus } # endif #else # include <ppcinline/macros.h> # ifdef __cplusplus extern "C" { # endif extern struct Library *ObjFWRTBase; # ifdef __cplusplus } # endif |
︙ | ︙ | |||
284 285 286 287 288 289 290 | extern id _Nullable objc_lookUpClass(const char *_Nonnull); extern id _Nullable objc_getClass(const char *_Nonnull); extern id _Nonnull objc_getRequiredClass(const char *_Nonnull); extern void objc_exception_throw(id _Nullable); extern int objc_sync_enter(id _Nullable); extern int objc_sync_exit(id _Nullable); extern id _Nullable objc_getProperty(id _Nonnull, SEL _Nonnull, ptrdiff_t, | | | | | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 | extern id _Nullable objc_lookUpClass(const char *_Nonnull); extern id _Nullable objc_getClass(const char *_Nonnull); extern id _Nonnull objc_getRequiredClass(const char *_Nonnull); extern void objc_exception_throw(id _Nullable); extern int objc_sync_enter(id _Nullable); extern int objc_sync_exit(id _Nullable); extern id _Nullable objc_getProperty(id _Nonnull, SEL _Nonnull, ptrdiff_t, bool); extern void objc_setProperty(id _Nonnull, SEL _Nonnull, ptrdiff_t, id _Nullable, bool, signed char); extern void objc_getPropertyStruct(void *_Nonnull, const void *_Nonnull, ptrdiff_t, bool, bool); extern void objc_setPropertyStruct(void *_Nonnull, const void *_Nonnull, ptrdiff_t, bool, bool); extern void objc_enumerationMutation(id _Nonnull); #ifdef __cplusplus } #endif #endif |