]> granicus.if.org Git - clang/commitdiff
clang-format: Fix assertion on unterminated #ifs.
authorDaniel Jasper <djasper@google.com>
Sat, 12 Oct 2013 13:32:56 +0000 (13:32 +0000)
committerDaniel Jasper <djasper@google.com>
Sat, 12 Oct 2013 13:32:56 +0000 (13:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192535 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 93840dcad8f799f6dc6d37efa2ac0132ab40b86a..e8503bb332220e0c6a1b1c655aabf1cbc73c5740 100644 (file)
@@ -225,7 +225,7 @@ bool UnwrappedLineParser::parse() {
     Callback.finishRun();
     Lines.clear();
     while (!PPLevelBranchIndex.empty() &&
-           PPLevelBranchIndex.back() + 1 == PPLevelBranchCount.back()) {
+           PPLevelBranchIndex.back() + 1 >= PPLevelBranchCount.back()) {
       PPLevelBranchIndex.resize(PPLevelBranchIndex.size() - 1);
       PPLevelBranchCount.resize(PPLevelBranchCount.size() - 1);
     }
index 5fea8e781eb1b35fdf7001fcdf08fa384196cd26..6e8179a3068ffa3ee12b0239c1f6439ef9dea8ae 100644 (file)
@@ -2317,6 +2317,8 @@ TEST_F(FormatTest, LayoutStatementsAroundPreprocessorDirectives) {
                "  x();\n"
                "}",
                getLLVMStyleWithColumns(28));
+  verifyFormat("#if 1\n"
+               "int i;");
 }
 
 TEST_F(FormatTest, LayoutBlockInsideParens) {