1 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm < %s | FileCheck %s
2 // RUN: %clang_cc1 -triple arm64-unknown-unknown -emit-llvm < %s | FileCheck %s
3 
4 // RUN: %clang_cc1 -triple x86_64-unknown-windows-msvc -emit-llvm %s -o - | FileCheck %s
5 // RUN: %clang_cc1 -triple aarch64-unknown-windows-msvc -emit-llvm %s -o - | FileCheck %s
6 
7 // Check that the preserve_most calling convention attribute at the source level
8 // is lowered to the corresponding calling convention attrribute at the LLVM IR
9 // level.
10 void foo() __attribute__((preserve_most)) {
11   // CHECK-LABEL: define {{(dso_local )?}}preserve_mostcc void @foo()
12 }
13 
14 // Check that the preserve_most calling convention attribute at the source level
15 // is lowered to the corresponding calling convention attrribute at the LLVM IR
16 // level.
17 void boo() __attribute__((preserve_all)) {
18   // CHECK-LABEL: define {{(dso_local )?}}preserve_allcc void @boo()
19 }
20 
21