[Bug libstdc++/124539] Unimplemented rules for chrono::tzdb parsing of tzdata.zi file

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 16 16:49:48 GMT 2026


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124539

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
We don't implement this:

       If a continuation line subtracts N seconds from the UT  offset  after  a
       transition  that would be interpreted to be later if using the continua‐
       tion line's UT offset and rules, the “until” time of the  previous  zone
       or continuation line is interpreted according to the continuation line's
       UT  offset  and  rules, and any rule that would otherwise take effect in
       the next N seconds is instead assumed  to  take  effect  simultaneously.
       For example:

         # Rule  NAME  FROM  TO    -  IN   ON       AT    SAVE  LETTER/S
         Rule    US    1967  2006  -  Oct  lastSun  2:00  0     S
         Rule    US    1967  1973  -  Apr  lastSun  2:00  1:00  D
         # Zone  NAME               STDOFF  RULES  FORMAT  [UNTIL]
         Zone    America/Menominee  -5:00   -      EST     1973 Apr 29 2:00
                 -6:00              US      C%sT

       Here,  an  incorrect  reading  would  be there were two clock changes on
       1973-04-29, the first from 02:00 EST (-05) to 01:00 CST (-06),  and  the
       second  an hour later from 02:00 CST (-06) to 03:00 CDT (-05).  However,
       zic interprets this more sensibly as a single transition from 02:00  CST
       (-05) to 02:00 CDT (-05).

I think we use the incorrect reading.


More information about the Gcc-bugs mailing list