24
24
#include " llvm/Support/raw_ostream.h"
25
25
#include < cassert>
26
26
27
+ #if defined(__ELF__)
28
+ #define SWIFT_REMOTEAST_TEST_ABI __attribute__ ((__visibility__(" default" )))
29
+ #elif defined(__MACH__)
30
+ #define SWIFT_REMOTEAST_TEST_ABI __attribute__ ((__visibility__(" default" )))
31
+ #else
32
+ #define SWIFT_REMOTEAST_TEST_ABI __declspec (dllexport)
33
+ #endif
34
+
27
35
using namespace swift ;
28
36
using namespace swift ::remote;
29
37
using namespace swift ::remoteAST;
@@ -33,7 +41,7 @@ static ASTContext *Context = nullptr;
33
41
34
42
// FIXME: swiftcall
35
43
// / func printType(forMetadata: Any.Type)
36
- LLVM_ATTRIBUTE_USED
44
+ LLVM_ATTRIBUTE_USED SWIFT_REMOTEAST_TEST_ABI
37
45
extern " C" void printMetadataType (const Metadata *typeMetadata) {
38
46
assert (Context && " context was not set" );
39
47
@@ -55,7 +63,7 @@ extern "C" void printMetadataType(const Metadata *typeMetadata) {
55
63
56
64
// FIXME: swiftcall
57
65
// / func printDynamicType(_: AnyObject)
58
- LLVM_ATTRIBUTE_USED
66
+ LLVM_ATTRIBUTE_USED SWIFT_REMOTEAST_TEST_ABI
59
67
extern " C" void printHeapMetadataType (void *object) {
60
68
assert (Context && " context was not set" );
61
69
@@ -118,7 +126,7 @@ static void printMemberOffset(const Metadata *typeMetadata,
118
126
119
127
// FIXME: swiftcall
120
128
// / func printTypeMemberOffset(forType: Any.Type, memberName: StaticString)
121
- LLVM_ATTRIBUTE_USED
129
+ LLVM_ATTRIBUTE_USED SWIFT_REMOTEAST_TEST_ABI
122
130
extern " C" void printTypeMemberOffset (const Metadata *typeMetadata,
123
131
const char *memberName) {
124
132
printMemberOffset (typeMetadata, memberName, /* pass metadata*/ false );
@@ -127,7 +135,7 @@ extern "C" void printTypeMemberOffset(const Metadata *typeMetadata,
127
135
// FIXME: swiftcall
128
136
// / func printTypeMetadataMemberOffset(forType: Any.Type,
129
137
// / memberName: StaticString)
130
- LLVM_ATTRIBUTE_USED
138
+ LLVM_ATTRIBUTE_USED SWIFT_REMOTEAST_TEST_ABI
131
139
extern " C" void printTypeMetadataMemberOffset (const Metadata *typeMetadata,
132
140
const char *memberName) {
133
141
printMemberOffset (typeMetadata, memberName, /* pass metadata*/ true );
0 commit comments