[gcc(refs/users/aoliva/heads/testbase)] libstdc++: Fix typo in chrono::year_month_weekday::operator==

Alexandre Oliva aoliva@gcc.gnu.org
Thu Sep 3 15:50:26 GMT 2020


https://gcc.gnu.org/g:0c5df67ffcf421b8c532513a655a37839e632710

commit 0c5df67ffcf421b8c532513a655a37839e632710
Author: Patrick Palka <ppalka@redhat.com>
Date:   Wed Aug 26 12:45:02 2020 -0400

    libstdc++: Fix typo in chrono::year_month_weekday::operator==
    
    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.

Diff:
---
 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 3cc1438a7b6..01f1e2d2b71 100644
--- a/libstdc++-v3/include/std/chrono
+++ b/libstdc++-v3/include/std/chrono
@@ -2623,7 +2623,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       {
 	return __x.year() == __y.year()
 	  && __x.month() == __y.month()
-	  && __x.weekday() == __y.weekday();
+	  && __x.weekday_indexed() == __y.weekday_indexed();
       }
 
       friend constexpr year_month_weekday
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());


More information about the Libstdc++-cvs mailing list