[clang] [Lifetime Safety] Highlight lifetimebound calls in alias chain diagnostics (PR #206337)
Gábor Horváth via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 20 03:43:44 PDT 2026
================
@@ -56,6 +60,25 @@ getImplicitObjectParamLifetimeBoundAttr(const FunctionDecl *FD);
/// method or because it's a normal assignment operator.
bool implicitObjectParamIsLifetimeBound(const FunctionDecl *FD);
+using LifetimeBoundParamInfo =
+ llvm::PointerUnion<const ParmVarDecl *, const CXXMethodDecl *>;
+
+/// Returns the callee and arguments corresponding to Call. For instance member
+/// calls, Args includes the implicit object argument as argument 0.
+std::pair<const FunctionDecl *, llvm::SmallVector<const Expr *, 4>>
+getFunctionCallInfo(const Expr *Call);
----------------
Xazax-hun wrote:
I wonder if this is the right name here. We basically destructure the function call into arguments and callee. I am almost wondering if we are actually doing a version of https://clang.llvm.org/doxygen/classclang_1_1AnyCall.html
An alternative is to reuse that (and potentially add accessors for the arguments, not just the parameters).
https://github.com/llvm/llvm-project/pull/206337
More information about the cfe-commits
mailing list