From: Fariborz Jahanian Date: Sat, 10 Mar 2012 00:39:34 +0000 (+0000) Subject: objc modern rewriter: Mark class and ivar definitions with __declspec(dllexport) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e57303c8ce83ce058dac1fd4b963e68762666b9a;p=clang 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 --- 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\")))";