1 // RUN: %clang_cc1 -triple i686-unknown-windows-msvc -fdeclspec -emit-llvm %s -o - | FileCheck %s
2 
3 void __attribute__((__swiftcall__)) f() {}
4 // CHECK-DAG: @"\01?f@@YSXXZ"
5 
6 void (__attribute__((__swiftcall__)) *p)();
7 // CHECK-DAG: @"\01?p@@3P6SXXZA"
8 
9 namespace {
10 void __attribute__((__swiftcall__)) __attribute__((__used__)) f() { }
11 // CHECK-DAG: "\01?f@?A@@YSXXZ"
12 }
13 
14 namespace n {
15 void __attribute__((__swiftcall__)) f() {}
16 // CHECK-DAG: "\01?f@n@@YSXXZ"
17 }
18 
19 struct __declspec(dllexport) S {
20   S(const S &) = delete;
21   S & operator=(const S &) = delete;
22   void __attribute__((__swiftcall__)) m() { }
23   // CHECK-DAG: "\01?m@S@@QASXXZ"
24 };
25 
26 void f(void (__attribute__((__swiftcall__))())) {}
27 // CHECK-DAG: "\01?f@@YAXP6SXXZ@Z"
28 
29