1 // REQUIRES: arm-registered-target 2 // RUN: %clang_cc1 -triple armv7-apple-darwin9 -target-abi apcs-gnu -emit-llvm -w -o - %s | FileCheck -check-prefix=DARWIN-APCS %s 3 // RUN: %clang_cc1 -triple armv7-apple-darwin9 -target-abi aapcs -emit-llvm -w -o - %s | FileCheck -check-prefix=DARWIN-AAPCS %s 4 // RUN: %clang_cc1 -triple arm-none-linux-gnueabi -target-abi apcs-gnu -emit-llvm -w -o - %s | FileCheck -check-prefix=LINUX-APCS %s 5 // RUN: %clang_cc1 -triple arm-none-linux-gnueabi -target-abi aapcs -emit-llvm -w -o - %s | FileCheck -check-prefix=LINUX-AAPCS %s 6 // RUN: %clang_cc1 -triple arm-none-linux-musleabi -target-abi apcs-gnu -emit-llvm -w -o - %s | FileCheck -check-prefix=LINUX-APCS %s 7 // RUN: %clang_cc1 -triple arm-none-linux-musleabi -target-abi aapcs -emit-llvm -w -o - %s | FileCheck -check-prefix=LINUX-AAPCS %s 8 // RUN: %clang_cc1 -triple armv7-none-eabihf -target-abi aapcs-vfp -emit-llvm -w -o - %s | FileCheck -check-prefix=BAREMETAL-AAPCS_VFP %s 9 10 11 // DARWIN-APCS-LABEL: define void @f() 12 // DARWIN-APCS: call void @g 13 // DARWIN-AAPCS-LABEL: define arm_aapcscc void @f() 14 // DARWIN-AAPCS: call arm_aapcscc void @g 15 // LINUX-APCS-LABEL: define arm_apcscc void @f() 16 // LINUX-APCS: call arm_apcscc void @g 17 // LINUX-AAPCS-LABEL: define void @f() 18 // LINUX-AAPCS: call void @g 19 // BAREMETAL-AAPCS_VFP-LABEL: define void @f() 20 // BAREMETAL-AAPCS_VFP: call void @g 21 // BAREMETAL-AAPCS_VFP: declare void @g() 22 void g(void); 23 void f(void) { 24 g(); 25 } 26