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 <i...@sandoe.co.uk> > > * doc/invoke.texi: Document the fcoroutines command line > switch. > > gcc/c-family/ChangeLog: > > 2019-11-17 Iain Sandoe <i...@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 <i...@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