Hi,

Though function co_await_expander may need to be further revised, this simple 
patch fixes an ICE case in co_await_expander, 

    Handle CO_AWAIT_EXPR in conversion in co_await_expander.
    
    Function co_await_expander expands CO_AWAIT_EXPR and inserts expanded
    code before result of co_await is used, however, it doesn't cover the
    type conversion case and leads to gimplify ICE.  This patch fixes it.

Bootstrap and test on x86_64.  Is it OK?

Thanks,
bin

gcc/cp
2020-01-22  Bin Cheng  <bin.ch...@linux.alibaba.com>

        * coroutines.cc (co_await_expander): Handle type conversion case.

gcc/testsuite
2020-01-22  Bin Cheng  <bin.ch...@linux.alibaba.com>

        * g++.dg/coroutines/co-await-syntax-09-convert.C: New test.

Attachment: 0001-Handle-CO_AWAIT_EXPR-in-conversion-in-co_await_expan.patch
Description: Binary data

Reply via email to