llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Pasquale Riello (Pask00)

<details>
<summary>Changes</summary>

`getDirectCallee()` may return a null pointer if the callee is not a 
`FunctionDecl` (for example when using function pointers), this requires to use 
`dyn_cast_or_null` instead of `dyn_cast`.

---
Full diff: https://github.com/llvm/llvm-project/pull/101640.diff


1 Files Affected:

- (modified) clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp 
(+1-1) 


``````````diff
diff --git a/clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp 
b/clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
index 5ac71e1d6bf64..27a624c61c7f2 100644
--- a/clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
+++ b/clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
@@ -56,7 +56,7 @@ bool ChromiumCheckModel::transfer(const CFGElement &Element, 
Environment &Env) {
     return false;
   auto Stmt = CS->getStmt();
   if (const auto *Call = dyn_cast<CallExpr>(Stmt)) {
-    if (const auto *M = dyn_cast<CXXMethodDecl>(Call->getDirectCallee())) {
+    if (const auto *M = 
dyn_cast_or_null<CXXMethodDecl>(Call->getDirectCallee())) {
       if (isCheckLikeMethod(CheckDecls, *M)) {
         // Mark this branch as unreachable.
         Env.assume(Env.arena().makeLiteral(false));

``````````

</details>


https://github.com/llvm/llvm-project/pull/101640
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to