1 // RUN: %clang_cc1 -triple aarch64-linux-gnu -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECKC 2 // RUN: %clang_cc1 -triple aarch64-linux-gnu -emit-llvm -x c++ -o - %s | FileCheck %s -check-prefix=CHECKCXX 3 // RUN: %clang_cc1 -triple i686-pc-linux-gnu -verify %s 4 5 void __attribute__((aarch64_sve_pcs)) f(int *); // expected-warning {{'aarch64_sve_pcs' calling convention is not supported for this target}} 6 7 // CHECKC: define{{.*}} void @g( 8 // CHECKCXX: define{{.*}} void @_Z1gPi( 9 void g(int *a) { 10 11 // CHECKC: call aarch64_sve_vector_pcs void @f( 12 // CHECKCXX: call aarch64_sve_vector_pcs void @_Z1fPi 13 f(a); 14 } 15 16 // CHECKC: declare aarch64_sve_vector_pcs void @f( 17 // CHECKCXX: declare aarch64_sve_vector_pcs void @_Z1fPi 18 19 void __attribute__((aarch64_sve_pcs)) h(int *a) { // expected-warning {{'aarch64_sve_pcs' calling convention is not supported for this target}} 20 // CHECKC: define{{.*}} aarch64_sve_vector_pcs void @h( 21 // CHECKCXX: define{{.*}} aarch64_sve_vector_pcs void @_Z1hPi( 22 f(a); 23 } 24