From 04b979dd812c86f78f58e4d155eebe050de08e4e Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Wed, 21 Jan 2015 18:35:47 +0000 Subject: clang-format: Fix crasher caused by incorrect resetting of token info. llvm-svn: 226685 --- clang/lib/Format/TokenAnnotator.h | 1 + clang/unittests/Format/FormatTest.cpp | 1 + 2 files changed, 2 insertions(+) (limited to 'clang') diff --git a/clang/lib/Format/TokenAnnotator.h b/clang/lib/Format/TokenAnnotator.h index 8aa163aff61..f9e1efa31b2 100644 --- a/clang/lib/Format/TokenAnnotator.h +++ b/clang/lib/Format/TokenAnnotator.h @@ -75,6 +75,7 @@ public: FormatToken *Current = First; while (Current) { Current->Children.clear(); + Current->Role.reset(); Current = Current->Next; } } diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index bb8f5bc0b82..553368d5633 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -2613,6 +2613,7 @@ TEST_F(FormatTest, MacroDefinitionsWithIncompleteCode) { verifyNoCrash("#if a\na(\n#else\n#endif\n{a"); verifyNoCrash("a={0,1\n#if a\n#else\n;\n#endif\n}"); + verifyNoCrash("#if a\na(\n#else\n#endif\n) a {a,b,c,d,f,g};"); } TEST_F(FormatTest, MacrosWithoutTrailingSemicolon) { -- cgit v1.2.3