Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaCXX / coroutine-vla.cpp
blob176e35f346e2b453a415b8e97f708cfc4358685b
1 // RUN: %clang_cc1 %s -std=c++20 -fsyntax-only -Wno-vla-cxx-extension -verify
2 #include "Inputs/std-coroutine.h"
4 struct promise;
6 struct coroutine : std::coroutine_handle<promise> {
7 using promise_type = ::promise;
8 };
10 struct promise
12 coroutine get_return_object();
13 std::suspend_always initial_suspend() noexcept;
14 std::suspend_always final_suspend() noexcept;
15 void return_void();
16 void unhandled_exception();
19 coroutine foo(int n) {
20 int array[n]; // expected-error {{variable length arrays in a coroutine are not supported}}
21 co_return;
24 void lambda() {
25 [](int n) -> coroutine {
26 int array[n]; // expected-error {{variable length arrays in a coroutine are not supported}}
27 co_return;
28 }(10);