From 34327fcdae3f73b057c699bb430848b9b97692cb Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Sat, 10 Mar 2012 00:39:34 +0000 Subject: objc modern rewriter: Mark class and ivar definitions with __declspec(dllexport) // rdar://11023563 llvm-svn: 152459 --- clang/lib/Rewrite/RewriteModernObjC.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'clang/lib/Rewrite/RewriteModernObjC.cpp') diff --git a/clang/lib/Rewrite/RewriteModernObjC.cpp b/clang/lib/Rewrite/RewriteModernObjC.cpp index 111de2e4958..37b02b8ece8 100644 --- a/clang/lib/Rewrite/RewriteModernObjC.cpp +++ b/clang/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\")))"; -- cgit v1.2.3