On Tue, Dec 16, 2025 at 11:16 AM Jonathan Wakely <[email protected]> wrote:
> Import the new 2025c tzdata.zi file and new leapseconds expiry date.
>
> libstdc++-v3/ChangeLog:
>
> * include/std/chrono (chrono::__detail::__get_leap_second_info):
> Update expiry date for leap seconds list.
> * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds):
> Likewise.
> * src/c++20/tzdata.zi: Import new file from 2025c release.
> ---
>
> Tested x86_64-linux (on Fedora and RHEL 10 with updated tzdata RPMs
> installed).
>
LGTM. Do we backport the tzdb updates to older releases? It seem reasonable
to do so.
>
> libstdc++-v3/include/std/chrono | 2 +-
> libstdc++-v3/src/c++20/tzdata.zi | 6 ++----
> libstdc++-v3/src/c++20/tzdb.cc | 4 ++--
> 3 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/libstdc++-v3/include/std/chrono
> b/libstdc++-v3/include/std/chrono
> index 3e0cf42e5491..76fc8de24f00 100644
> --- a/libstdc++-v3/include/std/chrono
> +++ b/libstdc++-v3/include/std/chrono
> @@ -3240,7 +3240,7 @@ namespace __detail
> };
> // The list above is known to be valid until (at least) this date
> // and only contains positive leap seconds.
> - const sys_seconds __expires(1766880000s); // 2025-12-28 00:00:00 UTC
> + constexpr sys_seconds __expires(1782604800s); // 2026-06-28
> 00:00:00 UTC
>
> #if _GLIBCXX_USE_CXX11_ABI || ! _GLIBCXX_USE_DUAL_ABI
> if (__ss > __expires)
> diff --git a/libstdc++-v3/src/c++20/tzdata.zi
> b/libstdc++-v3/src/c++20/tzdata.zi
> index a7fb52f1968f..c56f67c02f6d 100644
> --- a/libstdc++-v3/src/c++20/tzdata.zi
> +++ b/libstdc++-v3/src/c++20/tzdata.zi
> @@ -1,4 +1,4 @@
> -# version 2025b
> +# version 2025c
> # This zic input file is in the public domain.
> R d 1916 o - Jun 14 23s 1 S
> R d 1916 1919 - O Su>=1 23s 0 -
> @@ -2951,9 +2951,7 @@ Z America/Tijuana -7:48:4 - LMT 1922 Ja 1 7u
> -8 1 PDT 1951 S 30 2
> -8 - PST 1952 Ap 27 2
> -8 1 PDT 1952 S 28 2
> --8 - PST 1954
> --8 CA P%sT 1961
> --8 - PST 1976
> +-8 CA P%sT 1967
> -8 u P%sT 1996
> -8 m P%sT 2001
> -8 u P%sT 2002 F 20
> diff --git a/libstdc++-v3/src/c++20/tzdb.cc
> b/libstdc++-v3/src/c++20/tzdb.cc
> index d79b61ad673f..77b283fb6990 100644
> --- a/libstdc++-v3/src/c++20/tzdb.cc
> +++ b/libstdc++-v3/src/c++20/tzdb.cc
> @@ -1245,8 +1245,8 @@ namespace std::chrono
> pair<vector<leap_second>, bool>
> tzdb_list::_Node::_S_read_leap_seconds()
> {
> - // This list is valid until at least 2025-12-28 00:00:00 UTC.
> - auto expires = sys_days{2025y/12/28};
> + // This list is valid until at least 2026-06-28 00:00:00 UTC.
> + constexpr auto expires = sys_days{2026y/06/28};
> vector<leap_second> leaps
> {
> (leap_second) 78796800, // 1 Jul 1972
> --
> 2.52.0
>
>