aboutsummaryrefslogtreecommitdiff
path: root/lib/Rewrite/RewriteModernObjC.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2012-03-10 00:39:34 +0000
committerFariborz Jahanian <fjahanian@apple.com>2012-03-10 00:39:34 +0000
commite57303c8ce83ce058dac1fd4b963e68762666b9a (patch)
tree59b362ed5b81b92e2e66fdace559c2fb9c25d5c9 /lib/Rewrite/RewriteModernObjC.cpp
parentdb762ef262987403b4e2a3bb8d5762277306a224 (diff)
objc modern rewriter: Mark class and ivar definitions with __declspec(dllexport)
// rdar://11023563 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152459 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Rewrite/RewriteModernObjC.cpp')
-rw-r--r--lib/Rewrite/RewriteModernObjC.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Rewrite/RewriteModernObjC.cpp b/lib/Rewrite/RewriteModernObjC.cpp
index 111de2e495..37b02b8ece 100644
--- a/lib/Rewrite/RewriteModernObjC.cpp
+++ b/lib/Rewrite/RewriteModernObjC.cpp
@@ -5703,7 +5703,7 @@ static void Write_class_t(ASTContext *Context, std::string &Result,
Result += ";\n";
}
- Result += "\nstruct _class_t "; Result += VarName; Result += CDecl->getNameAsString();
+ Result += "\n__declspec(dllexport) struct _class_t "; Result += VarName; Result += CDecl->getNameAsString();
Result += " __attribute__ ((used, section (\"__DATA,__objc_data\"))) = {\n";
Result += "\t";
if (metadata) {
@@ -5849,7 +5849,7 @@ static void Write_IvarOffsetVar(std::string &Result,
Result += "\n";
for (unsigned i =0, e = Ivars.size(); i < e; i++) {
ObjCIvarDecl *IvarDecl = Ivars[i];
- Result += "unsigned long int "; Result += VarName;
+ Result += "__declspec(dllexport) unsigned long int "; Result += VarName;
Result += ClassName; Result += "_";
Result += IvarDecl->getName();
Result += " __attribute__ ((used, section (\"__DATA,__objc_ivar\")))";