[clang] 3b93af5 - [LifetimeSafety] Fix a crash caused by nullptr to llvm::isa

Utkarsh Saxena via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 14 09:43:31 PDT 2025


Author: Utkarsh Saxena
Date: 2025-10-14T16:43:20Z
New Revision: 3b93af5b30c3fea3f31f3cdf4e3775b3e0a5ebd3

URL: https://github.com/llvm/llvm-project/commit/3b93af5b30c3fea3f31f3cdf4e3775b3e0a5ebd3
DIFF: https://github.com/llvm/llvm-project/commit/3b93af5b30c3fea3f31f3cdf4e3775b3e0a5ebd3.diff

LOG: [LifetimeSafety] Fix a crash caused by nullptr to llvm::isa

Added: 
    

Modified: 
    clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp b/clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
index 485308f5b2c3b..9b68de107e314 100644
--- a/clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+++ b/clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
@@ -9,9 +9,11 @@
 #include "clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h"
 #include "clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h"
 #include "clang/Analysis/Analyses/PostOrderCFGView.h"
+#include "llvm/Support/Casting.h"
 #include "llvm/Support/TimeProfiler.h"
 
 namespace clang::lifetimes::internal {
+using llvm::isa_and_present;
 
 static bool isGslPointerType(QualType QT) {
   if (const auto *RD = QT->getAsCXXRecordDecl()) {
@@ -108,7 +110,7 @@ void FactsGenerator::VisitCXXMemberCallExpr(const CXXMemberCallExpr *MCE) {
   // Specifically for conversion operators,
   // like `std::string_view p = std::string{};`
   if (isGslPointerType(MCE->getType()) &&
-      isa<CXXConversionDecl>(MCE->getCalleeDecl())) {
+      isa_and_present<CXXConversionDecl>(MCE->getCalleeDecl())) {
     // The argument is the implicit object itself.
     handleFunctionCall(MCE, MCE->getMethodDecl(),
                        {MCE->getImplicitObjectArgument()},


        


More information about the cfe-commits mailing list