[clang] [NFC][analyzer] Spread use of 'Expr*' instead of 'Stmt*' (PR #188319)

Balázs Benics via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 30 02:12:10 PDT 2026


================
@@ -1225,11 +1227,11 @@ void ExprEngine::defaultEvalCall(NodeBuilder &Bldr, ExplodedNode *Pred,
     return;
   }
 
-  // Try to inline the call.
-  // The origin expression here is just used as a kind of checksum;
-  // this should still be safe even for CallEvents that don't come from exprs.
   const Expr *E = Call.getOriginExpr();
 
+  // Try to inline the call. Note that `getInlineFailedStates` only uses its
+  // second argument in an assertion, so this should still be safe even for
+  // calls that don't come from exprs.
----------------
steakhal wrote:

How can we calls that doesn't come from exprs? Even ObjC message exprs (aka. calls) are exprs. Do you have evidence for non-expr calls?

Maybe the way how we handle delegating ctors, or other ctors we have instances of non-expr 'calls'. 

https://github.com/llvm/llvm-project/pull/188319


More information about the cfe-commits mailing list