On 26/08/20 12:35 -0400, Patrick Palka via Libstdc++ wrote:
Tested on x86_64-pc-linux-gnu, does this look OK to commit?
OK, thanks.
libstdc++-v3/ChangeLog: * include/std/chrono (year_month_weekday::operator==): Compare weekday_indexed instead of weekday. * testsuite/std/time/year_month_weekday/1.cc: Augment testcase. --- libstdc++-v3/include/std/chrono | 2 +- libstdc++-v3/testsuite/std/time/year_month_weekday/1.cc | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono index 46086140d9d..417954d103b 100644 --- a/libstdc++-v3/include/std/chrono +++ b/libstdc++-v3/include/std/chrono @@ -2657,7 +2657,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __x.year() == __y.year() && __x.month() == __y.month() - && __x.weekday() == __y.weekday(); + && __x.weekday_indexed() == __y.weekday_indexed(); } template<typename = __detail::__months_years_conversion_disambiguator> diff --git a/libstdc++-v3/testsuite/std/time/year_month_weekday/1.cc b/libstdc++-v3/testsuite/std/time/year_month_weekday/1.cc index 3781f1781b7..6924f947210 100644 --- a/libstdc++-v3/testsuite/std/time/year_month_weekday/1.cc +++ b/libstdc++-v3/testsuite/std/time/year_month_weekday/1.cc @@ -58,6 +58,11 @@ constexpr_year_month_weekday() static_assert(years{1} + January/Tuesday[2]/1900y == January/Tuesday[2]/1901y); static_assert(January/Tuesday[2]/1900y - years{1} == January/Tuesday[2]/1899y); + static_assert(January/Tuesday[1]/1900y != February/Tuesday[1]/1900y); + static_assert(January/Tuesday[1]/1900y != January/Wednesday[1]/1900y); + static_assert(January/Tuesday[1]/1900y != January/Tuesday[1]/1901y); + static_assert(January/Tuesday[1]/1900y != January/Tuesday[2]/1900y); + // N.B. unix seems to be a macro somewhere! constexpr ymwd myunix(local_days{days{0}}); static_assert(myunix.ok()); -- 2.28.0.337.ge9b77c84a0