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 '/'.
This commit is contained in:
Tomasz Kamiński 2025-10-08 15:14:04 +02:00
parent 8b6a18ecaf
commit 43f524c1c4
1 changed files with 1 additions and 1 deletions

View File

@ -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;
}