clang-format: Fix endless loop on incomplete try-catch-block.
authorDaniel Jasper <djasper@google.com>
Mon, 19 Jan 2015 10:50:51 +0000 (10:50 +0000)
committerDaniel Jasper <djasper@google.com>
Mon, 19 Jan 2015 10:50:51 +0000 (10:50 +0000)
llvm-svn: 226447

clang/lib/Format/UnwrappedLineParser.cpp
clang/unittests/Format/FormatTest.cpp

index ec04af5..00dc1bd 100644 (file)
@@ -1198,7 +1198,7 @@ void UnwrappedLineParser::parseTryCatch() {
         parseParens();
         continue;
       }
-      if (FormatTok->isOneOf(tok::semi, tok::r_brace))
+      if (FormatTok->isOneOf(tok::semi, tok::r_brace, tok::eof))
         return;
       nextToken();
     }
index e1484b7..5f8fba2 100644 (file)
@@ -2230,6 +2230,9 @@ TEST_F(FormatTest, FormatTryCatch) {
                "    throw;\n"
                "  }\n"
                "};\n");
+
+  // Incomplete try-catch blocks.
+  verifyFormat("try {} catch (");
 }
 
 TEST_F(FormatTest, IncompleteTryCatchBlocks) {