Remove a FIXME from RewriteObjC::RewriteObjCSynchronizedStmt().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53696 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Steve Naroff 2008-07-16 19:47:39 +00:00
Родитель 59f05a48a7
Коммит b2a39459f5
1 изменённых файлов: 5 добавлений и 2 удалений

Просмотреть файл

@ -1294,8 +1294,11 @@ Stmt *RewriteObjC::RewriteObjCSynchronizedStmt(ObjCAtSynchronizedStmt *S) {
buf = "}\nelse {\n";
buf += " _rethrow = objc_exception_extract(&_stack);\n";
buf += " if (!_rethrow) objc_exception_try_exit(&_stack);\n";
// FIXME: This must be objc_sync_exit(syncExpr);
buf += " objc_sync_exit();\n";
buf += " objc_sync_exit(";
std::ostringstream syncExprBuf;
S->getSynchExpr()->printPretty(syncExprBuf);
buf += syncExprBuf.str();
buf += ");\n";
buf += " if (_rethrow) objc_exception_throw(_rethrow);\n";
buf += "}\n";
buf += "}";