[C++ coroutines 1/6] Common code and base definitions.

Jeff Law law@redhat.com
Sun Nov 17 15:49:00 GMT 2019


On 11/17/19 3:24 AM, Iain Sandoe wrote:
> This part of the patch series provides the gating flag, the keywords,
> cpp defines etc.
> 
> gcc/ChangeLog:
> 
> 2019-11-17  Iain Sandoe  <iain@sandoe.co.uk>
> 
> 	* doc/invoke.texi: Document the fcoroutines command line
> 	switch.
> 
> gcc/c-family/ChangeLog:
> 
> 2019-11-17  Iain Sandoe  <iain@sandoe.co.uk>
> 
> 	* c-common.c (co_await, co_yield, co_return): New.
> 	* c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
> 	RID_CO_RETURN): New enumeration values.
> 	(D_CXX_COROUTINES): Bit to identify coroutines are active.
> 	(D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
> 	* c-cppbuiltin.c (__cpp_coroutines): New cpp define.
> 	* c.opt (fcoroutines): New command-line switch.
> 
> gcc/cp/ChangeLog:
> 
> 2019-11-17  Iain Sandoe  <iain@sandoe.co.uk>
> 
> 	* cp-tree.h (lang_decl-fn): coroutine_p, new bit.
> 	* lex.c (init_reswords): Enable keywords when the coroutine flag
> 	is set,
> 	* operators.def (co_await): New operator.
Looks quite reasonable to me.  If you need minor twiddling due to
reviewer feedback elsewhere those are pre-approved as well.

jeff



More information about the Libstdc++ mailing list