Fix yesterday's regression with rewriting @optional/@required.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44119 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp
index 283f360..b78e776 100644
--- a/Driver/RewriteTest.cpp
+++ b/Driver/RewriteTest.cpp
@@ -390,29 +390,26 @@
   // Lastly, comment out the @end.
   SourceLocation LocEnd = PDecl->getAtEndLoc();
   Rewrite.ReplaceText(LocEnd, 0, "// ", 3);
-#if 0  
+
   // Must comment out @optional/@required
   const char *startBuf = SM->getCharacterData(LocStart);
   const char *endBuf = SM->getCharacterData(LocEnd);
   for (const char *p = startBuf; p < endBuf; p++) {
     if (*p == '@' && !strncmp(p+1, "optional", strlen("optional"))) {
       std::string CommentedOptional = "/* @optional */";
-      SourceLocation OptionalLoc = SourceLocation::getFileLoc(MainFileID, 
-                                                              p-MainBufStart);
+      SourceLocation OptionalLoc = LocStart.getFileLocWithOffset(p-startBuf);
       Rewrite.ReplaceText(OptionalLoc, strlen("@optional"),
                           CommentedOptional.c_str(), CommentedOptional.size());
       
     }
     else if (*p == '@' && !strncmp(p+1, "required", strlen("required"))) {
       std::string CommentedRequired = "/* @required */";
-      SourceLocation OptionalLoc = SourceLocation::getFileLoc(MainFileID, 
-                                                              p-MainBufStart);
+      SourceLocation OptionalLoc = LocStart.getFileLocWithOffset(p-startBuf);
       Rewrite.ReplaceText(OptionalLoc, strlen("@required"),
                           CommentedRequired.c_str(), CommentedRequired.size());
       
     }
   }
-#endif
 }
 
 void RewriteTest::RewriteForwardProtocolDecl(ObjcForwardProtocolDecl *PDecl) {