Landing: e79f0f818c0e

Project / Subsystem

gcc / libstdc++

Date

2026-04-28

Author

Jonathan Wakely

Commit

e79f0f818c0e42d0d84c90a54684dfb269ac388c

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
libstdc++
patch_id
commit_hash
e79f0f818c0e42d0d84c90a54684dfb269ac388c
source_type
github
headline
Improve libstdc++ handling of leap second expiry time
tldr
libstdc++ can now use its built-in leap second list even after the expiry date by consulting the OS tzdata, avoiding filesystem reads where possible.
author
Jonathan Wakely
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • libstdc++
  • chrono
  • leap seconds
  • time zones
discussion_id_link
bugzilla_pr
date
2026-04-28T00:00:00.000Z

The <chrono> header in libstdc++ has a hardcoded list of leap seconds, which can become outdated. This change allows the library to continue using this list even after its expiry date, by checking the system’s tzdata leapseconds file. The code prioritizes using in-memory lists to avoid slower filesystem reads, and caches the results.