https://gcc.gnu.org/g:02d9bbd206fe139f2e01233a0f66c8e6e5ebb8d5

commit r14-12603-g02d9bbd206fe139f2e01233a0f66c8e6e5ebb8d5
Author: Jonathan Wakely <[email protected]>
Date:   Fri Jan 12 16:57:41 2024 +0000

    libstdc++: Update tzdata to 2026a
    
    Import the new 2026a 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 2026a release.
    
    (cherry picked from commit b8fd759dc61c0a191a236eb19db870bb30078011)

Diff:
---
 libstdc++-v3/include/std/chrono  |  2 +-
 libstdc++-v3/src/c++20/tzdata.zi | 10 ++++++----
 libstdc++-v3/src/c++20/tzdb.cc   |  4 ++--
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono
index a1d1148a70bf..4b6703243df9 100644
--- a/libstdc++-v3/include/std/chrono
+++ b/libstdc++-v3/include/std/chrono
@@ -3243,7 +3243,7 @@ namespace __detail
       };
       // The list above is known to be valid until (at least) this date
       // and only contains positive leap seconds.
-      constexpr sys_seconds __expires(1782604800s); // 2026-06-28 00:00:00 UTC
+      constexpr sys_seconds __expires(1798416000s); // 2026-12-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 c56f67c02f6d..88f7d34a3817 100644
--- a/libstdc++-v3/src/c++20/tzdata.zi
+++ b/libstdc++-v3/src/c++20/tzdata.zi
@@ -1,4 +1,5 @@
-# version 2025c
+# version 2026a
+# redo posix_only
 # 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 -
@@ -1304,8 +1305,8 @@ R MT 1974 o - S 16 0s 0 -
 R MT 1975 1979 - Ap Su>=15 2 1 S
 R MT 1975 1980 - S Su>=15 2 0 -
 R MT 1980 o - Mar 31 2 1 S
-R MD 1997 ma - Mar lastSu 2 1 S
-R MD 1997 ma - O lastSu 3 0 -
+R MD 1997 2021 - Mar lastSu 2 1 S
+R MD 1997 2021 - O lastSu 3 0 -
 R O 1918 1919 - S 16 2s 0 -
 R O 1919 o - Ap 15 2s 1 S
 R O 1944 o - Ap 3 2s 1 S
@@ -3666,7 +3667,8 @@ Z Europe/Chisinau 1:55:20 - LMT 1880
 3 R MSK/MSD 1990 May 6 2
 2 R EE%sT 1992
 2 e EE%sT 1997
-2 MD EE%sT
+2 MD EE%sT 2022
+2 E EE%sT
 Z Europe/Dublin -0:25:21 - LMT 1880 Au 2
 -0:25:21 - DMT 1916 May 21 2s
 -0:25:21 1 IST 1916 O 1 2s
diff --git a/libstdc++-v3/src/c++20/tzdb.cc b/libstdc++-v3/src/c++20/tzdb.cc
index b3d029d8b238..4c6aea9fdbed 100644
--- a/libstdc++-v3/src/c++20/tzdb.cc
+++ b/libstdc++-v3/src/c++20/tzdb.cc
@@ -1192,8 +1192,8 @@ namespace std::chrono
   pair<vector<leap_second>, bool>
   tzdb_list::_Node::_S_read_leap_seconds()
   {
-    // This list is valid until at least 2026-06-28 00:00:00 UTC.
-    constexpr auto expires = sys_days{2026y/06/28};
+    // This list is valid until at least 2026-12-28 00:00:00 UTC.
+    constexpr auto expires = sys_days{2026y/12/28};
     vector<leap_second> leaps
     {
       (leap_second)  78796800, // 1 Jul 1972

Reply via email to