On Wed, 8 Oct 2025 at 14:25, Tomasz KamiĆski <[email protected]> wrote:
>
> 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 '/'.
OK, thanks.
> ---
> libstdc++-v3/include/bits/chrono_io.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Tested on x86_64-linux, but the value cannot be currently accessed.
> OK for trunk?
>
> 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;
> }
> --
> 2.51.0
>