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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-16 branch has been updated by Tomasz Kaminski
<[email protected]>:

https://gcc.gnu.org/g:d0558173f7fc411bd2f364f8e16eb3f5e5b5c48d

commit r16-9619-gd0558173f7fc411bd2f364f8e16eb3f5e5b5c48d
Author: Tomasz KamiÅski <[email protected]>
Date:   Thu Aug 27 07:44:59 2026 +0200

    libstdc++: Make chrono::tzdb parser case-insensive [PR123510]

    Expand switch and if-check to check both lowercase and uppercase letter.
    For line parsing in chrono::reload_tzdb, the type is inspected by default
    branch (check for 'Z'), this patch normalizes it for all branches
    consistently.

    For testing, we check minimum unambigous prefix and whole world as both
    lowercase and uppercase. This covers all code paths.

    libstdc++-v3/ChangeLog:

            PR libstdc++/123510
            * src/c++20/tzdb.cc (at_time::is_indicator): Add case labels
            for uppercase letters.
            (operator>>(istream&, years_from_to)): Check for 'M' and 'O',
            (chrono::reload_tzdb): Add case labels for lowercase letters,
            and normalize first letter of type.
            (operator>>(istream&, abbrev_month&)): Match all cases in
            switch and days_chars.
            (operator>>(istream&, on_month_day&)): Check for 'L'.
            * testsuite/std/time/tzdb/name_matching.cc: New test.

    Reviewed-by: Jonathan Wakely <[email protected]>
    Signed-off-by: Tomasz KamiÅski <[email protected]>
    (cherry picked from commit 2509f241a097ef247fc4814c5614e3c4e3cc70d2)

Reply via email to