From 53d2ca1541b34bb2f840d5aede9b826025dd0bb7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tomasz=20Kami=C5=84ski?= Date: Tue, 24 Jun 2025 09:17:12 +0200 Subject: [PATCH] libstdc++: Report compilation error on formatting "%d" from month_last [PR120650] For month_day we incorrectly reported day information to be available, which lead to format_error being thrown from the call to formatter::format at runtime, instead of making call to format ill-formed. PR libstdc++/120650 libstdc++-v3/ChangeLog: * include/bits/chrono_io.h (formatter::parse): Call _M_parse with only Month being available. (cherry picked from commit 190aaaaf077fe5f318e168a7a1e1aa57058f377e) --- libstdc++-v3/include/bits/chrono_io.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libstdc++-v3/include/bits/chrono_io.h b/libstdc++-v3/include/bits/chrono_io.h index 32ef3533c72..e9e6a440efb 100644 --- a/libstdc++-v3/include/bits/chrono_io.h +++ b/libstdc++-v3/include/bits/chrono_io.h @@ -1905,7 +1905,7 @@ namespace __format { constexpr typename basic_format_parse_context<_CharT>::iterator parse(basic_format_parse_context<_CharT>& __pc) - { return _M_f._M_parse(__pc, __format::_Month|__format::_Day); } + { return _M_f._M_parse(__pc, __format::_Month); } template typename basic_format_context<_Out, _CharT>::iterator -- 2.47.2