Landing: a2bd06e89526
Project / Subsystem
gcc / analyzer
Date
2026-05-06
Author
David Malcolm
Commit
a2bd06e89526a69925157d0cbecb521fb2a360e0
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- analyzer
- patch_id
- —
- commit_hash
- a2bd06e89526a69925157d0cbecb521fb2a360e0
- source_type
- github
- headline
- Analyzer: generating raw state for rewinding data flow
- tldr
- The analyzer now retains raw state when rewinding data flow, improving diagnostic accuracy without disabling state purging.
- author
- David Malcolm
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • analyzer
- • data flow
- • diagnostics
- • bugfix
- • state purging
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-05-06T00:00:00.000Z
The analyzer now retains raw state when rewinding data flow for diagnostics. This fixes an issue where state purging would eliminate pertinent information, leading to inaccurate or incomplete diagnostics, especially in divide-by-zero scenarios. The patch extends diagnostic_manager::annotate_exploded_path to build region model instances without state purging or merging. This allows the analyzer to reliably rewind state and provide more accurate diagnostics, removing the need to disable state purging in certain test cases.