[committed 2/2] libstdc++: Define noop coroutine details private and inline [PR 95917]

Jonathan Wakely jwakely@redhat.com
Tue Oct 20 10:39:39 GMT 2020


libstdc++: Define noop coroutine details private and inline [PR 95917]

This moves the __noop_coro_frame type, the __noop_coro_fr global
variable, and the __dummy_resume_destroy function from namespace scope,
replacing them with private members of the specialization
coroutine_handle<noop_coroutine_promise>.

The function and variable are also declared inline, so that they
generate no code unless used.

libstdc++-v3/ChangeLog:

         PR libstdc++/95917
         * include/std/coroutine (__noop_coro_frame): Replace with
         noop_coroutine_handle::__frame.
         (__dummy_resume_destroy): Define inline in __frame.
         (__noop_coro_fr): Replace with noop_coroutine_handle::_S_fr
         and define as inline.
         * testsuite/18_support/coroutines/95917.cc: New test.

Tested powerpc64le-linux. Committed to trunk.



More information about the Gcc-patches mailing list