Differences From Artifact [3f8b6a0471]:
- File
src/runtime/runtime.h
— part of check-in
[5e267364ae]
at
2016-07-03 12:01:43
on branch trunk
— runtime: Add objc_enumerationMutation()
This was provided by OFObject before, but should actually be provided by
the runtime, as the compiler can generate code calling into it. (user: js, size: 6446) [annotate] [blame] [check-ins using]
To Artifact [33b194a33a]:
- File
src/runtime/runtime.h
— part of check-in
[f57765b5c6]
at
2017-01-08 20:14:08
on branch trunk
— Clean up the dllexport mess a little
For many of those, it's not actually required to declare them dllexport.
Declaring them at all is enough to prevent Clang from using its implicit
declaration that is dllimport. (user: js, size: 7057) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
230 231 232 233 234 235 236 | objc_uncaught_exception_handler); extern void objc_setForwardHandler(IMP, IMP); extern id objc_autorelease(id); extern void* objc_autoreleasePoolPush(void); extern void objc_autoreleasePoolPop(void*); extern id _objc_rootAutorelease(id); extern void objc_zero_weak_references(id); | > > | > > > > > > > > > > > > > | 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | objc_uncaught_exception_handler); extern void objc_setForwardHandler(IMP, IMP); extern id objc_autorelease(id); extern void* objc_autoreleasePoolPush(void); extern void objc_autoreleasePoolPop(void*); extern id _objc_rootAutorelease(id); extern void objc_zero_weak_references(id); /* * Used by the compiler, but can also be called manually. * * These declarations are also required to prevent Clang's implicit * declarations which include __declspec(dllimport) on Windows. */ struct objc_abi_module; extern void __objc_exec_class(struct objc_abi_module*); extern IMP objc_msg_lookup(id, SEL); extern IMP objc_msg_lookup_stret(id, SEL); extern IMP objc_msg_lookup_super(struct objc_super*, SEL); extern IMP objc_msg_lookup_super_stret(struct objc_super*, SEL); extern void objc_exception_throw(id); extern int objc_sync_enter(id); extern int objc_sync_exit(id); extern id objc_getProperty(id, SEL, ptrdiff_t, BOOL); extern void objc_setProperty(id, SEL, ptrdiff_t, id, BOOL, signed char); extern void objc_getPropertyStruct(void*, const void*, ptrdiff_t, BOOL, BOOL); extern void objc_setPropertyStruct(void*, const void*, ptrdiff_t, BOOL, BOOL); extern void objc_enumerationMutation(id); extern void objc_setEnumerationMutationHandler(void (*handler)(id)); #ifdef __cplusplus } #endif #undef OBJC_UNSAFE_UNRETAINED #undef OBJC_ROOT_CLASS #endif |