[clang] [analyzer] Avoid out-of-order node traversal on void return (PR #117863)
Gábor Horváth via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 27 03:25:09 PST 2024
================
@@ -278,7 +278,9 @@ class ExplodedNode : public llvm::FoldingSetNode {
/// Useful for explaining control flow that follows the current node.
/// If the statement belongs to a body-farmed definition, retrieve the
/// call site for that definition.
- const Stmt *getNextStmtForDiagnostics() const;
+ /// If skipPurge is true, skip the purge-dead-symbols nodes (that are often
+ /// inserted out-of-order by the endinge).
+ const Stmt *getNextStmtForDiagnostics(bool skipPurge) const;
----------------
Xazax-hun wrote:
What would happen if we always skipped `purge-dead-symbol` nodes? I wonder if we in general want to tie diagnostics to constructs written by the users instead of artificial constructs that we inserted as implementation details of the analysis.
https://github.com/llvm/llvm-project/pull/117863
More information about the cfe-commits
mailing list