c++: co_await and initializer_list [PR103871]
commitea4dd8f512979db247c54d6b41377bb73699bcd7
authorJason Merrill <jason@redhat.com>
Wed, 15 Mar 2023 20:33:37 +0000 (15 16:33 -0400)
committerJason Merrill <jason@redhat.com>
Wed, 15 Mar 2023 22:29:39 +0000 (15 18:29 -0400)
treea62e8a53f54ee4aaff82c96bc04637ab0c993e47
parent79aaba0a71f34ac1ac2c4cec907ff74740a6cf1a
c++: co_await and initializer_list [PR103871]

When flatten_await_stmt processes the backing array for an initializer_list,
we call cp_build_modify_expr to initialize the promoted variable from the
TARGET_EXPR; that needs to be accepted.

PR c++/103871
PR c++/98056

gcc/cp/ChangeLog:

* typeck.cc (cp_build_modify_expr): Allow array initialization of
DECL_ARTIFICIAL variable.

gcc/testsuite/ChangeLog:

* g++.dg/coroutines/co-await-initlist1.C: New test.
gcc/cp/typeck.cc
gcc/testsuite/g++.dg/coroutines/co-await-initlist1.C [new file with mode: 0644]