]> granicus.if.org Git - clang/commitdiff
Add missing clang-format null pointer check..
authorDaniel Jasper <djasper@google.com>
Tue, 19 Feb 2013 20:05:41 +0000 (20:05 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 19 Feb 2013 20:05:41 +0000 (20:05 +0000)
.. and a test that triggers it in valid albeit questionable code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175554 91177308-0d34-0410-b5e6-96231b3b80d8

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

index d9368c3649927c3029a8440b9a410381e061d271..ac7301eebd09004311f3f136c3831149de7e338e 100644 (file)
@@ -592,7 +592,8 @@ private:
         else
           Current.Type = TT_BlockComment;
       } else if (Current.is(tok::r_paren)) {
-        bool ParensNotExpr = Current.Parent->Type == TT_PointerOrReference ||
+        bool ParensNotExpr = !Current.Parent ||
+                             Current.Parent->Type == TT_PointerOrReference ||
                              Current.Parent->Type == TT_TemplateCloser;
         bool ParensCouldEndDecl =
             !Current.Children.empty() && (Current.Children[0].is(tok::equal) ||
index 3a1e9dce95a9dbc5a2ba7b57da00abac960b927e..05e5d3717113ef09259774022ae81de54db69cd5 100644 (file)
@@ -937,6 +937,8 @@ TEST_F(FormatTest, MacroDefinitionsWithIncompleteCode) {
                getLLVMStyleWithColumns(20));
 
   verifyFormat("#define A template <typename T>");
+  verifyFormat("#define STR(x) #x\n"
+               "f(STR(this_is_a_string_literal{));");
 }
 
 TEST_F(FormatTest, IndentPreprocessorDirectivesAtZero) {