Overview
Comment: | Override Clang's block declarations on Windows
This is necessary as Clang's implicit declarations for block-related |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
30bc1fb225ba0de24b2a99aa3bb651ea |
User & Date: | js on 2017-01-07 23:23:19 |
Other Links: | manifest | tags |
Context
2017-01-07
| ||
23:37 | Add Clang/Win32 to {PLATFORMS,README-WINDOWS}.md check-in: 8cf1390ea2 user: js tags: trunk | |
23:23 | Override Clang's block declarations on Windows check-in: 30bc1fb225 user: js tags: trunk | |
23:08 | Update buildsys check-in: 888b97ef5a user: js tags: trunk | |
Changes
Modified src/Makefile from [585cef9f50] to [dc8c07a997].
︙ | ︙ | |||
170 171 172 173 174 175 176 | ${FORWARDING_FORWARDING_A} LIB_OBJS_EXTRA = ${RUNTIME_RUNTIME_LIB_A} \ ${EXCEPTIONS_EXCEPTIONS_LIB_A} \ ${FORWARDING_FORWARDING_LIB_A} include ../buildsys.mk | | | 170 171 172 173 174 175 176 177 178 179 | ${FORWARDING_FORWARDING_A} LIB_OBJS_EXTRA = ${RUNTIME_RUNTIME_LIB_A} \ ${EXCEPTIONS_EXCEPTIONS_LIB_A} \ ${FORWARDING_FORWARDING_LIB_A} include ../buildsys.mk CPPFLAGS += -I. -I.. -Iexceptions -Iruntime -DOF_COMPILING_OBJFW LD = ${OBJC} LDFLAGS += ${REEXPORT_LIBOBJC} |
Modified src/OFObject.h from [fb4f549aa8] to [12add09603].
︙ | ︙ | |||
26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <stddef.h> #include <stdint.h> #include <stdbool.h> #include <limits.h> #import "macros.h" #import "autorelease.h" OF_ASSUME_NONNULL_BEGIN /*! @file */ /*! * @brief A result of a comparison. | > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include <stddef.h> #include <stdint.h> #include <stdbool.h> #include <limits.h> #import "macros.h" #import "autorelease.h" #import "block.h" OF_ASSUME_NONNULL_BEGIN /*! @file */ /*! * @brief A result of a comparison. |
︙ | ︙ |
Modified src/block.h from [261f53d6e7] to [2b08db5321].
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | } of_block_literal_t; #ifdef __cplusplus extern "C" { #endif extern void* _Block_copy(const void*); extern void _Block_release(const void*); #ifdef __cplusplus } #endif #ifndef Block_copy # define Block_copy(...) \ ((__typeof__(__VA_ARGS__))_Block_copy((const void*)(__VA_ARGS__))) | > > > > > > > > > > > > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | } of_block_literal_t; #ifdef __cplusplus extern "C" { #endif extern void* _Block_copy(const void*); extern void _Block_release(const void*); # if defined(OF_WINDOWS) && defined(OF_COMPILING_OBJFW) /* * Clang has implicit declarations for these, but they are dllimport. When * compiling ObjFW itself, these need to be dllexport. */ extern __declspec(dllexport) struct objc_abi_class _NSConcreteStackBlock; extern __declspec(dllexport) struct objc_abi_class _NSConcreteGlobalBlock; extern __declspec(dllexport) void _Block_object_assign(void*, const void*, const int); extern __declspec(dllexport) void _Block_object_dispose(const void*, const int); # endif #ifdef __cplusplus } #endif #ifndef Block_copy # define Block_copy(...) \ ((__typeof__(__VA_ARGS__))_Block_copy((const void*)(__VA_ARGS__))) |
︙ | ︙ |
Modified src/exceptions/Makefile from [0569261c12] to [054622fd42].
︙ | ︙ | |||
65 66 67 68 69 70 71 | OFThreadStartFailedException.m \ OFThreadStillRunningException.m INCLUDES = ${SRCS:.m=.h} include ../../buildsys.mk | | | 65 66 67 68 69 70 71 72 | OFThreadStartFailedException.m \ OFThreadStillRunningException.m INCLUDES = ${SRCS:.m=.h} include ../../buildsys.mk CPPFLAGS += -I. -I.. -I../.. -I../runtime -DOF_COMPILING_OBJFW |
Modified src/runtime/Makefile from [44d89a0e24] to [fe020dcb16].
︙ | ︙ | |||
25 26 27 28 29 30 31 | INCLUDES = runtime.h OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_A} LIB_OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_LIB_A} include ../../buildsys.mk | | | 25 26 27 28 29 30 31 32 | INCLUDES = runtime.h OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_A} LIB_OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_LIB_A} include ../../buildsys.mk CPPFLAGS += -I. -I.. -I../.. -DOF_COMPILING_OBJFW |