libstdc++, coroutine: Add missing constexpr markers.
authorIain Sandoe <iain@sandoe.co.uk>
Sun, 12 Jul 2020 19:16:21 +0000 (20:16 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Fri, 17 Jul 2020 18:51:09 +0000 (19:51 +0100)
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

index b40a3bcf9cc82a41fad6e296c144d248cc741376..468d11075577956e807af210c8a16b66fe64d1a5 100644 (file)
@@ -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