]> granicus.if.org Git - clang/commitdiff
clang-format: Fix bad memory access.
authorDaniel Jasper <djasper@google.com>
Wed, 21 Jan 2015 18:04:02 +0000 (18:04 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 21 Jan 2015 18:04:02 +0000 (18:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@226680 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTest.cpp

index df6bfd37ae0c87eba4354401f105d3bc4fe9b149..91aeb73e55294ce9e5b05dd51a6d536468018a2e 100644 (file)
@@ -683,6 +683,7 @@ private:
                                TT_TrailingReturnArrow))
       CurrentToken->Type = TT_Unknown;
     CurrentToken->Role.reset();
+    CurrentToken->MatchingParen = nullptr;
     CurrentToken->FakeLParens.clear();
     CurrentToken->FakeRParens = 0;
   }
index 3aa53465d352f4a1bcab75367d9aef638b5f697c..bb8f5bc0b829c3514acbcfdbe8abdc934398da2f 100644 (file)
@@ -2612,6 +2612,7 @@ TEST_F(FormatTest, MacroDefinitionsWithIncompleteCode) {
   verifyFormat("#if \"a");
 
   verifyNoCrash("#if a\na(\n#else\n#endif\n{a");
+  verifyNoCrash("a={0,1\n#if a\n#else\n;\n#endif\n}");
 }
 
 TEST_F(FormatTest, MacrosWithoutTrailingSemicolon) {