25 lines · cpp
1// RUN: c-index-test -test-load-source all -c %s -fsyntax-only -target x86_64-apple-darwin9 -std=c++20 -I%S/../SemaCXX/Inputs | FileCheck %s2#include "std-coroutine.h"3 4using std::suspend_always;5using std::suspend_never;6 7struct promise_void {8 void get_return_object();9 suspend_always initial_suspend();10 suspend_always final_suspend() noexcept;11 void return_void();12 void unhandled_exception();13};14 15template <>16struct std::coroutine_traits<void> { using promise_type = promise_void; };17 18void CoroutineTestRet() {19 co_return;20}21// CHECK: [[@LINE-3]]:25: UnexposedStmt=22// CHECK-SAME: [[@LINE-4]]:25 - [[@LINE-2]]:2]23// CHECK: [[@LINE-4]]:3: UnexposedStmt=24// CHECK-SAME: [[@LINE-5]]:3 - [[@LINE-5]]:12]25