[gcc r11-4273] libstdc++: Fix custom clock in test

Jonathan Wakely redi@gcc.gnu.org
Thu Oct 22 22:15:30 GMT 2020


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

commit r11-4273-g0a74a0e1a2d4668613bd5913a600ab644402cefd
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Oct 22 20:28:10 2020 +0100

    libstdc++: Fix custom clock in test
    
    This test fails in C++20 mode because std::is_clock is false for the
    test clock, because it doesn't define a duration member.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/30_threads/condition_variable/members/68519.cc:
            Define recent_epoch_float_clock::duration to meet the Cpp17Clock
            requirements.

Diff:
---
 .../testsuite/30_threads/condition_variable/members/68519.cc     | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/members/68519.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/members/68519.cc
index c86ca2ccdbf..307dccd7183 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/members/68519.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/members/68519.cc
@@ -47,10 +47,11 @@ test_wait_for()
 // needs to use a more recent epoch.
 struct recent_epoch_float_clock
 {
-  using rep = std::chrono::duration<float>::rep;
-  using period = std::chrono::duration<float>::period;
-  using time_point = std::chrono::time_point<recent_epoch_float_clock,
-    std::chrono::duration<float>>;
+  using duration = std::chrono::duration<float>;
+  using rep = duration::rep;
+  using period = duration::period;
+  using time_point
+    = std::chrono::time_point<recent_epoch_float_clock, duration>;
   static constexpr bool is_steady = true;
 
   static const std::chrono::steady_clock::time_point epoch;


More information about the Libstdc++-cvs mailing list