Landing: f7cde200320e
Project / Subsystem
gcc / libstdc++
Date
2026-06-30
Author
Tomasz Kamiński
Commit
f7cde200320e0800e4fcc5cea399e9faef50f8d4
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- libstdc++
- patch_id
- —
- commit_hash
- f7cde200320e0800e4fcc5cea399e9faef50f8d4
- source_type
- github
- headline
- libstdc++: Correctly cascade wall-time saves in lazy timezone expansion
- tldr
- Fixes timezone calculations for zones with wall-time rules by properly accounting for accumulated time savings from preceding rules.
- author
- Tomasz Kamiński
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • libstdc++
- • timezone
- • dst
- • bugfix
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-06-30T00:00:00.000Z
This change corrects an issue in libstdc++‘s timezone database where wall-time saves were not being correctly cascaded when seeding system information. Previously, each rule was evaluated in isolation, ignoring the accumulated offset from prior rules in the same year. This led to incorrect timezone offsets for zones like Europe/Paris around 1945, where the interaction between rules determines the actual wall-time offset. The fix enhances the lookup algorithm to consider three rule transitions (current, previous, and next) to accurately adjust start times and determine the active rule, aligning behavior with zic and libc.