From 54eeac9cb538e4fc4eecd81f2eda8f6fa727ca76 Mon Sep 17 00:00:00 2001
From: Edwin Vane <edwin.vane@intel.com>
Date: Tue, 7 May 2013 15:53:23 +0000
Subject: [PATCH] Prevent crashes from hasCanonicalType matcher

Adding an QualType::isNull() check.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181329 91177308-0d34-0410-b5e6-96231b3b80d8
---
 include/clang/ASTMatchers/ASTMatchers.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/clang/ASTMatchers/ASTMatchers.h b/include/clang/ASTMatchers/ASTMatchers.h
index ab62dd0c3e8..70f539be794 100644
--- a/include/clang/ASTMatchers/ASTMatchers.h
+++ b/include/clang/ASTMatchers/ASTMatchers.h
@@ -1841,6 +1841,8 @@ AST_MATCHER_P(QualType, references, internal::Matcher<QualType>,
 /// varDecl(hasType(qualType(hasCanonicalType(referenceType())))))) does.
 AST_MATCHER_P(QualType, hasCanonicalType, internal::Matcher<QualType>,
               InnerMatcher) {
+  if (Node.isNull())
+    return false;
   return InnerMatcher.matches(Node.getCanonicalType(), Finder, Builder);
 }
 
-- 
GitLab