From: Tomasz KamiƄski Date: Wed, 8 Oct 2025 13:14:04 +0000 (+0200) Subject: libstdc++: Fix type in computation of _M_weekday_index. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43f524c1c4f1aa79e3c443b45af9464a8b8943b1;p=thirdparty%2Fgcc.git libstdc++: Fix type in computation of _M_weekday_index. The value should use divide instead of modulo, as given 1st of month being weekday X (Mon, Tue, ...), 01 is always X[1], 08 is X[2], e.t.c. This values is currently not observable, as there is no user-accessible format specifier that will print it, however it may be exposed in future. libstdc++-v3/ChangeLog: * include/bits/chrono_io.h (_ChronoData::_M_fill_day): Replace '%' by '/'. --- diff --git a/libstdc++-v3/include/bits/chrono_io.h b/libstdc++-v3/include/bits/chrono_io.h index 79a44d128b1..690c10d79ce 100644 --- a/libstdc++-v3/include/bits/chrono_io.h +++ b/libstdc++-v3/include/bits/chrono_io.h @@ -463,7 +463,7 @@ namespace __format { _M_day = __d; __parts -= _ChronoParts::_Day; - _M_weekday_index = ((unsigned)__d + 6u) % 7u; + _M_weekday_index = ((unsigned)__d + 6u) / 7u; __parts -= _ChronoParts::_WeekdayIndex; return __parts; }