]> granicus.if.org Git - clang/commitdiff
modern objective-c translator: insert couple of pragmas for optimization.
authorFariborz Jahanian <fjahanian@apple.com>
Tue, 20 Mar 2012 22:24:05 +0000 (22:24 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Tue, 20 Mar 2012 22:24:05 +0000 (22:24 +0000)
// rdar://11079898

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153145 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Rewrite/RewriteModernObjC.cpp

index fed50b1a3dbdcf1e6a486bb784974a7c2c3a8698..a164f7464672457479580e9f39fcc144a8501289 100644 (file)
@@ -6337,6 +6337,8 @@ void RewriteModernObjC::RewriteObjCClassMetaData(ObjCImplementationDecl *IDecl,
 void RewriteModernObjC::RewriteMetaDataIntoBuffer(std::string &Result) {
   int ClsDefCount = ClassImplementation.size();
   int CatDefCount = CategoryImplementation.size();
+  if (LangOpts.MicrosoftExt)
+    Result += "#pragma optimize(\"g\", on)";
   
   // For each implemented class, write out all its meta data.
   for (int i = 0; i < ClsDefCount; i++)
@@ -6406,6 +6408,8 @@ void RewriteModernObjC::RewriteMetaDataIntoBuffer(std::string &Result) {
     }
     Result += "};\n";
   }
+  if (LangOpts.MicrosoftExt)
+    Result += "#pragma optimize(\"\", on)\n";
 }
 
 void RewriteModernObjC::WriteImageInfo(std::string &Result) {