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 '/'.
---
 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

Reply via email to