Differences From Artifact [8577ac8d70]:
- File
src/runtime/ObjFW-RT.h
— part of check-in
[636098dbdd]
at
2017-07-24 20:33:00
on branch trunk
— runtime: Don't depend on platform.h in ObjFW-RT.h
platform.h does not get installed to the ObjFW-RT include directory. (user: js, size: 8708) [annotate] [blame] [check-ins using]
To Artifact [490c99bb19]:
- File src/runtime/ObjFW-RT.h — part of check-in [a1d0ab5bf9] at 2017-10-22 21:12:34 on branch 0.90 — runtime: Define _Null_unspecified if missing (user: js, size: 8457) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 | #if !__has_feature(nullability) # ifndef _Nonnull # define _Nonnull # endif # ifndef _Nullable # define _Nullable # endif #endif #if !__has_feature(objc_arc) && !defined(__unsafe_unretained) # define __unsafe_unretained #endif | > > > | | | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #if !__has_feature(nullability) # ifndef _Nonnull # define _Nonnull # endif # ifndef _Nullable # define _Nullable # endif # ifndef _Null_unspecified # define _Null_unspecified # endif #endif #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 (BOOL)1 #define NO (BOOL)0 typedef struct objc_class *Class; typedef struct objc_object *id; typedef const struct objc_selector *SEL; typedef signed char BOOL; 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; const char *_Nonnull name; unsigned long version; unsigned long info; long instance_size; struct objc_ivar_list *_Nullable ivars; struct objc_method_list *_Nullable methodlist; struct objc_dtable *_Nonnull dtable; Class _Nullable *_Nullable subclass_list; void *_Nullable sibling_class; struct objc_protocol_list *_Nullable protocols; void *_Nullable gc_object_type; unsigned long abi_version; int32_t *_Nonnull *_Nullable ivar_offsets; struct objc_property_list *_Nullable properties; }; |
︙ | ︙ | |||
195 196 197 198 199 200 201 | struct objc_protocol_list { struct objc_protocol_list *_Nullable next; long count; Protocol *__unsafe_unretained _Nonnull list[1]; }; | < | | | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | struct objc_protocol_list { struct objc_protocol_list *_Nullable next; long count; Protocol *__unsafe_unretained _Nonnull list[1]; }; #ifdef __cplusplus extern "C" { #endif extern SEL _Nonnull sel_registerName(const char *_Nonnull); extern const char *_Nonnull sel_getName(SEL _Nonnull); extern bool sel_isEqual(SEL _Nonnull, SEL _Nonnull); extern Class _Nonnull objc_allocateClassPair(Class _Nullable, const char *_Nonnull, size_t); extern void objc_registerClassPair(Class _Nonnull); extern unsigned int objc_getClassList(Class _Nonnull *_Nullable, unsigned int); |
︙ | ︙ | |||
225 226 227 228 229 230 231 | SEL _Nonnull); extern bool class_addMethod(Class _Nonnull, SEL _Nonnull, IMP _Nonnull, const char *_Nullable); extern IMP _Nullable class_replaceMethod(Class _Nonnull, SEL _Nonnull, IMP _Nonnull, const char *_Nullable); extern Class _Nullable object_getClass(id _Nullable); extern Class _Nullable object_setClass(id _Nullable, Class _Nonnull); | | < | < < < < < < < < < < < < < < < < < < | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | SEL _Nonnull); extern bool class_addMethod(Class _Nonnull, SEL _Nonnull, IMP _Nonnull, const char *_Nullable); extern IMP _Nullable class_replaceMethod(Class _Nonnull, SEL _Nonnull, IMP _Nonnull, const char *_Nullable); extern Class _Nullable object_getClass(id _Nullable); extern Class _Nullable object_setClass(id _Nullable, Class _Nonnull); extern const char *_Nullable object_getClassName(id _Nullable); extern const char *_Nonnull protocol_getName(Protocol *_Nonnull); extern bool protocol_isEqual(Protocol *_Nonnull, Protocol *_Nonnull); extern bool protocol_conformsToProtocol(Protocol *_Nonnull, Protocol *_Nonnull); extern void objc_exit(void); extern _Nullable objc_uncaught_exception_handler objc_setUncaughtExceptionHandler( objc_uncaught_exception_handler _Nullable); extern void objc_setForwardHandler(IMP _Nullable, IMP _Nullable); extern void objc_setEnumerationMutationHandler( objc_enumeration_mutation_handler _Nullable); extern void objc_zero_weak_references(id _Nonnull); /* * Used by the compiler, but can also be called manually. * * They need to be in the glue code for the MorphOS library. * * These declarations are also required to prevent Clang's implicit * declarations which include __declspec(dllimport) on Windows. |
︙ | ︙ |