aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Driver/RewriteTest.cpp2
-rw-r--r--test/Sema/rewrite-foreach-1.m8
2 files changed, 9 insertions, 1 deletions
diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp
index ee2f8ef2f6..1ba0af5ae3 100644
--- a/Driver/RewriteTest.cpp
+++ b/Driver/RewriteTest.cpp
@@ -854,7 +854,7 @@ Stmt *RewriteTest::RewriteObjCForCollectionStmt(ObjCForCollectionStmt *S) {
// Replace ')' in for '(' type elem in collection ')' with ';'
SourceLocation endCollectionLoc = S->getCollection()->getLocEnd();
const char *endCollectionBuf = SM->getCharacterData(endCollectionLoc);
- const char *lparenBuf = strchr(endCollectionBuf, ')');
+ const char *lparenBuf = strchr(endCollectionBuf+1, ')');
SourceLocation lparenLoc = startLoc.getFileLocWithOffset(lparenBuf-startBuf);
buf = ";\n\t";
diff --git a/test/Sema/rewrite-foreach-1.m b/test/Sema/rewrite-foreach-1.m
index 71e3fbd582..5962f3332e 100644
--- a/test/Sema/rewrite-foreach-1.m
+++ b/test/Sema/rewrite-foreach-1.m
@@ -24,6 +24,14 @@ int LOOP();
{ LOOP(); }
for (id el1 in self)
LOOP();
+
+ for (el in (self))
+ if (el)
+ LOOP();
+
+ for (el in ((self)))
+ if (el)
+ LOOP();
}
@end