Unfortunately, the temporary hacks that accommodate CLDR for this
year’s changes in Canada trigger a bug in libstdc++ std::chrono
from GCC 14.1 (2024) through 16.1 (2026) that mishandles today’s
timestamps in America/Edmonton and America/Vancouver.
See GCC bug 124851; a fix is planned for GCC 16.2.
Work around the problem by using names rather than numbers in the
temporary hacks’ RULES columns; this accommodates GCC’s bug while
continuing to accommodate CLDR’s bug.
I ran across this bug when looking into a bug of Waybar,
a status bar for Wayland compositors.
Waybar mishandles current timestamps for Edmonton and Vancouver.
The Waybar bug evidently is caused by the std::chrono bug.
* NEWS: Mention this.
* northamerica (America/Edmonton, America/Vancouver): Use ‘Canada’,
not ‘1:00’, for the RULES column in this year’s temporary hack.
---
NEWS | 7 +++++++
northamerica | 4 ++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/NEWS b/NEWS
index f898775e..35816c2f 100644
--- a/NEWS
+++ b/NEWS
@@ -33,6 +33,13 @@ Unreleased, experimental changes
like New York, reverting to 2024a behavior. This change affects
only timestamps before 1966-10-30 at 01:00 standard time.
+ Other data changes
+
+ The temporary hacks used for North American timekeeping changes
+ now work around a bug in libstdc++ from GCC 14.1 through 16.1;
+ see GCC bug 124851, which affects std::chrono. This data change
+ does not affect TZif files or timestamps.
+
Changes to code
zic now rejects Link targets that would have invalid names.
diff --git a/northamerica b/northamerica
index b542adb1..9d05e891 100644
--- a/northamerica
+++ b/northamerica
@@ -1996,7 +1996,7 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
-7:00 Edm M%sT 1987
-7:00 Canada M%sT 2026 Jun 18
# Temporary hack; see above.
- -7:00 1:00 MDT 2026 Nov 1 2:00
+ -7:00 Canada MDT 2026 Nov 1 2:00
# End of temporary hack.
-6:00 - CST
@@ -2103,7 +2103,7 @@ Zone America/Vancouver -8:12:28 - LMT 1884
-8:00 Vanc P%sT 1987
-8:00 Canada P%sT 2026 Mar 9
# Temporary hack; see above.
- -8:00 1:00 PDT 2026 Nov 1 2:00
+ -8:00 Canada PDT 2026 Nov 1 2:00
# End of temporary hack.
-7:00 - MST
Zone America/Dawson_Creek -8:00:56 - LMT 1884
--
2.55.0