Skip to content

Conversation

@snarang181
Copy link
Contributor

This patch adds a new AnalysisBasedWarnings pass that runs right before
IssueWarnings:

  1. Pass 1 seeds trivial always-throwing functions.
  2. Pass 2 performs a fixed-point CFG-based analysis (CheckFallThrough) to propagate noreturn inference to any caller whose all paths end in calls to already-inferred noreturn functions.

To support templates, we also walk each FunctionTemplateDecl’s specializations so that instantiations (e.g. ensureZeroTemplate) get analyzed.

@snarang181 snarang181 force-pushed the clang-always-throws-cfg branch from 671aaa2 to ab6c3eb Compare July 8, 2025 23:35
@snarang181 snarang181 closed this Aug 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant