1 // RUN: %clang_cc1 -triple x86_64-unknown-windows-msvc -fdeclspec -emit-llvm %s -o - | FileCheck %s
2 // RUN: %clang_cc1 -triple aarch64-unknown-windows-msvc -fdeclspec -emit-llvm %s -o - | FileCheck %s
4 void __attribute__((__preserve_none__
)) f() {}
5 // CHECK-DAG: @"?f@@YVXXZ"
7 void (__attribute__((__preserve_none__
)) *p
)();
8 // CHECK-DAG: @"?p@@3P6VXXZEA
11 void __attribute__((__preserve_none__
)) __attribute__((__used__
)) f() { }
13 // CHECK-DAG: @"?f@?A0x{{[^@]*}}@@YVXXZ"
16 void __attribute__((__preserve_none__
)) f() {}
18 // CHECK-DAG: @"?f@n@@YVXXZ"
20 struct __declspec(dllexport
) S
{
21 S(const S
&) = delete;
22 S
& operator=(const S
&) = delete;
23 void __attribute__((__preserve_none__
)) m() { }
25 // CHECK-DAG: @"?m@S@@QEAVXXZ"
27 void f(void (__attribute__((__preserve_none__
))())) {}
28 // CHECK-DAG: @"?f@@YAXP6VXXZ@Z"