brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 3cc90a8 Raw
68 lines · cpp
1// RUN: %clang_cc1 -triple i686-unknown-windows-msvc -fdeclspec -emit-llvm %s -o - | FileCheck %s2// RUN: %clang_cc1 -triple x86_64-unknown-windows-msvc -fdeclspec -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-643 4void __attribute__((__swiftcall__)) f() {}5// CHECK-DAG: @"?f@@YSXXZ"6// CHECK-64-DAG: @"?f@@YSXXZ"7 8void (__attribute__((__swiftcall__)) *p)();9// CHECK-DAG: @"?p@@3P6SXXZA"10// CHECK-64-DAG: @"?p@@3P6SXXZEA11 12namespace {13void __attribute__((__swiftcall__)) __attribute__((__used__)) f() { }14}15// CHECK-DAG: @"?f@?A0x{{[^@]*}}@@YSXXZ"16// CHECK-64-DAG: @"?f@?A0x{{[^@]*}}@@YSXXZ"17 18namespace n {19void __attribute__((__swiftcall__)) f() {}20}21// CHECK-DAG: @"?f@n@@YSXXZ"22// CHECK-64-DAG: @"?f@n@@YSXXZ"23 24struct __declspec(dllexport) S {25  S(const S &) = delete;26  S & operator=(const S &) = delete;27  void __attribute__((__swiftcall__)) m() { }28};29// CHECK-DAG: @"?m@S@@QASXXZ"30// CHECK-64-DAG: @"?m@S@@QEASXXZ"31 32void f(void (__attribute__((__swiftcall__))())) {}33// CHECK-DAG: @"?f@@YAXP6SXXZ@Z"34// CHECK-64-DAG: @"?f@@YAXP6SXXZ@Z"35 36void __attribute__((__preserve_most__)) g() {}37// CHECK-DAG: @"?g@@YUXXZ"38// CHECK-64-DAG: @"?g@@YUXXZ"39 40void (__attribute__((__preserve_most__)) *q)();41// CHECK-DAG: @"?q@@3P6UXXZA"42// CHECK-64-DAG: @"?q@@3P6UXXZEA"43 44namespace {45void __attribute__((__preserve_most__)) __attribute__((__used__)) g() {}46}47// CHECK-DAG: @"?g@?A0x{{[^@]*}}@@YUXXZ"48// CHECK-64-DAG: @"?g@?A0x{{[^@]*}}@@YUXXZ"49 50namespace n {51void __attribute__((__preserve_most__)) g() {}52}53// CHECK-DAG: @"?g@n@@YUXXZ"54// CHECK-64-DAG: @"?g@n@@YUXXZ"55 56struct __declspec(dllexport) T {57  T(const T &) = delete;58  T & operator=(const T &) = delete;59  void __attribute__((__preserve_most__)) m() {}60};61// CHECK-DAG: @"?m@T@@QAUXXZ"62// CHECK-64-DAG: @"?m@T@@QEAUXXZ"63 64void g(void (__attribute__((__preserve_most__))())) {}65// CHECK-DAG: @"?g@@YAXP6UXXZ@Z"66// CHECK-64-DAG: @"?g@@YAXP6UXXZ@Z"67 68