[clang] [LifetimeSafety] Run analysis in post-order of CallGraph for better annotation propagation (PR #174178)
Kashika Akhouri via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 15 21:57:32 PST 2026
================
@@ -194,16 +194,18 @@ class LifetimeChecker {
}
void inferAnnotations() {
- // FIXME: To maximise inference propagation, functions should be analyzed in
- // post-order of the call graph, allowing inferred annotations to propagate
- // through the call chain
- // FIXME: Add the inferred attribute to all redeclarations of the function,
- // not just the definition being analyzed.
for (const auto &[ConstPVD, EscapeExpr] : AnnotationWarningsMap) {
ParmVarDecl *PVD = const_cast<ParmVarDecl *>(ConstPVD);
- if (!PVD->hasAttr<LifetimeBoundAttr>())
- PVD->addAttr(
+ const auto *FD = dyn_cast<FunctionDecl>(PVD->getDeclContext());
----------------
kashika0112 wrote:
Done
https://github.com/llvm/llvm-project/pull/174178
More information about the cfe-commits
mailing list