Hi

As per http://eel.is/c++draft/coroutine.trivial.awaitables the methods for
the trivial awaitables are supposed to be constexpr.

tested on x86_64-linux, darwin powerpc64-linux,
OK for master?

for 10.3?

thanks
Iain

-------


The methods of the trivial awaitables are intended to
be constexpr.

libstdc++-v3/ChangeLog:

        * include/std/coroutine: Mark the methods of the
        trivial awaitables as constexpr.
---
 libstdc++-v3/include/std/coroutine | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/libstdc++-v3/include/std/coroutine 
b/libstdc++-v3/include/std/coroutine
index b40a3bcf9cc..468d1107557 100644
--- a/libstdc++-v3/include/std/coroutine
+++ b/libstdc++-v3/include/std/coroutine
@@ -273,20 +273,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   /// [coroutine.trivial.awaitables]
   struct suspend_always
   {
-    bool await_ready() { return false; }
+    constexpr bool await_ready() const noexcept { return false; }
 
-    void await_suspend(coroutine_handle<>) {}
+    constexpr void await_suspend(coroutine_handle<>) const noexcept {}
 
-    void await_resume() {}
+    constexpr void await_resume() const noexcept {}
   };
 
   struct suspend_never
   {
-    bool await_ready() { return true; }
+    constexpr bool await_ready() const noexcept { return true; }
 
-    void await_suspend(coroutine_handle<>) {}
+    constexpr void await_suspend(coroutine_handle<>) const noexcept {}
 
-    void await_resume() {}
+    constexpr void await_resume() const noexcept {}
   };
 
   } // namespace __n4861
-- 
2.24.1


Reply via email to