1 // RUN: %clang_cc1 %s -std=c++20 -fsyntax-only -Wno-vla-cxx-extension -verify
2 #include "Inputs/std-coroutine.h"
6 struct coroutine
: std::coroutine_handle
<promise
> {
7 using promise_type
= ::promise
;
12 coroutine
get_return_object();
13 std::suspend_always
initial_suspend() noexcept
;
14 std::suspend_always
final_suspend() noexcept
;
16 void unhandled_exception();
19 // Test that we won't report the error incorrectly.
25 coroutine
foo(int n
) {
26 int array
[n
]; // expected-error {{variable length arrays in a coroutine are not supported}}
31 [](int n
) -> coroutine
{
32 int array
[n
]; // expected-error {{variable length arrays in a coroutine are not supported}}