https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123510
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tomasz Kaminski <[email protected]>: https://gcc.gnu.org/g:2509f241a097ef247fc4814c5614e3c4e3cc70d2 commit r17-3705-g2509f241a097ef247fc4814c5614e3c4e3cc70d2 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]>
