modern ObjC translator. Insert line number for @synchronized statements.
authorFariborz Jahanian <fjahanian@apple.com>
Wed, 7 Nov 2012 00:43:05 +0000 (00:43 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Wed, 7 Nov 2012 00:43:05 +0000 (00:43 +0000)
llvm-svn: 167511

clang/lib/Rewrite/Frontend/RewriteModernObjC.cpp

index 2f2f005..a86da54 100644 (file)
@@ -1855,7 +1855,9 @@ Stmt *RewriteModernObjC::RewriteObjCSynchronizedStmt(ObjCAtSynchronizedStmt *S)
   assert((*startBuf == '@') && "bogus @synchronized location");
 
   std::string buf;
-  buf = "{ id _rethrow = 0; id _sync_obj = ";
+  SourceLocation SynchLoc = S->getAtSynchronizedLoc();
+  ConvertSourceLocationToLineDirective(SynchLoc, buf);
+  buf += "{ id _rethrow = 0; id _sync_obj = ";
   
   const char *lparenBuf = startBuf;
   while (*lparenBuf != '(') lparenBuf++;