Landing: 80c98ea9eea1
Project / Subsystem
gcc / gccrs
Date
2026-07-07
Author
Lishin
Commit
80c98ea9eea1ad1ab3381af0f8f900c2c49bcc5b
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- gccrs
- patch_id
- —
- commit_hash
- 80c98ea9eea1ad1ab3381af0f8f900c2c49bcc5b
- source_type
- github
- headline
- gccrs: Use EH_ELSE_EXPR for block drop cleanup
- tldr
- GCC's Rust compiler uses EH_ELSE_EXPR for block scope drop cleanup in TRY_FINALLY_EXPR.
- author
- Lishin
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • gccrs
- • exception handling
- • cleanup
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-07-07T00:00:00.000Z
GCC’s Rust compiler now uses EH_ELSE_EXPR to manage block-scope drop cleanups within TRY_FINALLY_EXPR. This change ensures that Drop implementations are correctly invoked during normal control flow exits, even before full stack unwinding support is integrated into the compiler. The normal cleanup path now uses the Drop cleanup, while the exceptional path uses an empty statement.