
This change is intended as initial setup. The plan is to add more semantic checks later. I plan to update the documentation as more semantic checks are added (instead of documenting the details up front). Most of the code closely mirrors that for the Swift calling convention. Three places are marked as [FIXME: swiftasynccc]; those will be addressed once the corresponding convention is introduced in LLVM. Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D95561
11 lines
482 B
C
11 lines
482 B
C
// RUN: %clang_cc1 -triple aarch64-unknown-windows-msvc -emit-llvm %s -o - | FileCheck %s
|
|
// RUN: %clang_cc1 -triple x86_64-unknown-windows-msvc -emit-llvm %s -o - | FileCheck %s
|
|
|
|
// REQUIRES: aarch64-registered-target,arm-registered-target,x86-registered-target
|
|
|
|
void __attribute__((__swiftcall__)) f(void) {}
|
|
// CHECK-LABEL: define dso_local swiftcc void @f()
|
|
|
|
void __attribute__((__swiftasynccall__)) f_async(void) {}
|
|
// CHECK-LABEL: define dso_local swifttailcc void @f_async()
|