brintos

brintos / llvm-project-archived public Read only

0
0
Text · 684 B · 8f17177 Raw
23 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -std=c++20 -disable-llvm-passes -emit-llvm %s -o - | FileCheck %s2#include "Inputs/coroutine.h"3 4using namespace std;5 6struct coro {7  struct promise_type {8    coro get_return_object();9    suspend_never initial_suspend();10    suspend_never final_suspend() noexcept;11    void return_void();12    static void unhandled_exception();13  };14};15 16// CHECK: void @_Z3foov() #[[FOO_ATTR_NUM:[0-9]+]]17// CHECK: declare token @llvm.coro.save(ptr) #[[SAVE_ATTR_NUM:[0-9]+]]18// CHECK: attributes #[[FOO_ATTR_NUM]] = { {{.*}} presplitcoroutine19// CHECK: attributes #[[SAVE_ATTR_NUM]] = { {{.*}}nomerge20coro foo() {21  co_await suspend_always{};22}23