1 // RUN: %clang_cc1 -emit-llvm -std=c99 -x c %s -triple aarch64-linux -o - | FileCheck %s --check-prefix=AARCH64-C 2 // RUN: %clang_cc1 -emit-llvm -std=c++17 -x c++ %s -triple aarch64-linux -o - | FileCheck %s --check-prefix=AARCH64-CXX 3 // RUN: %clang_cc1 -emit-llvm -std=c99 -x c %s -triple x86_64-linux -o - | FileCheck %s --check-prefix=X86_64-C 4 // RUN: %clang_cc1 -emit-llvm -std=c++17 -x c++ %s -triple x86_64-linux -o - | FileCheck %s --check-prefix=X86_64-CXX 5 // RUN: %clang_cc1 -emit-llvm -std=c99 -x c %s -triple ppc64-linux -o - | FileCheck %s --check-prefix=PPC64-C 6 // RUN: %clang_cc1 -emit-llvm -std=c++17 -x c++ %s -triple ppc64-linux -o - | FileCheck %s --check-prefix=PPC64-CXX 7 // RUN: %clang_cc1 -emit-llvm -std=c99 -x c %s -triple armv7-apple-darwin9 -target-abi aapcs -o - | FileCheck %s --check-prefix=AAPCS-C 8 // RUN: %clang_cc1 -emit-llvm -std=c++17 -x c++ %s -triple armv7-apple-darwin9 -target-abi aapcs -o - | FileCheck %s --check-prefix=AAPCS-CXX 9 // RUN: %clang_cc1 -emit-llvm -std=c99 -x c %s -triple s390x-linux -o - | FileCheck %s --check-prefix=SYSTEMZ-C 10 // RUN: %clang_cc1 -emit-llvm -std=c++17 -x c++ %s -triple s390x-linux -o - | FileCheck %s --check-prefix=SYSTEMZ-CXX 11 // RUN: %clang_cc1 -emit-llvm -std=c99 -x c %s -triple le32-nacl -o - | FileCheck %s --check-prefix=PNACL-C 12 // RUN: %clang_cc1 -emit-llvm -std=c++17 -x c++ %s -triple le32-nacl -o - | FileCheck %s --check-prefix=PNACL-CXX 13 // RUN: %clang_cc1 -emit-llvm -std=c99 -x c %s -triple i686-linux -o - | FileCheck %s --check-prefix=CHARPTR-C 14 // RUN: %clang_cc1 -emit-llvm -std=c++17 -x c++ %s -triple i686-linux -o - | FileCheck %s --check-prefix=CHARPTR-CXX 15 // RUN: %clang_cc1 -emit-llvm -std=c99 -x c %s -triple xcore -o - | FileCheck %s --check-prefix=VOIDPTR-C 16 // RUN: %clang_cc1 -emit-llvm -std=c++17 -x c++ %s -triple xcore -o - | FileCheck %s --check-prefix=VOIDPTR-CXX 17 18 #include <stdarg.h> 19 20 // AARCH64-C: define {{.*}} @f(i32 %n, %struct.__va_list* %list) 21 // AARCH64-CXX: define {{.*}} @_Z1fiSt9__va_list(i32 %n, %"struct.std::__va_list"* %list) 22 // X86_64-C: define {{.*}} @f(i32 %n, %struct.__va_list_tag* %list) 23 // X86_64-CXX: define {{.*}} @_Z1fiP13__va_list_tag(i32 %n, %struct.__va_list_tag* %list) 24 // PPC64-C: define {{.*}} @f(i32 signext %n, i8* %list) 25 // PPC64-CXX: define {{.*}} @_Z1fiPc(i32 signext %n, i8* %list) 26 // AAPCS-C: define {{.*}} @f(i32 %n, [1 x i32] %list.coerce) 27 // AAPCS-CXX: define {{.*}} @_Z1fiSt9__va_list(i32 %n, [1 x i32] %list.coerce) 28 // SYSTEMZ-C: define {{.*}} @f(i32 signext %n, %struct.__va_list_tag* %list) 29 // SYSTEMZ-CXX: define {{.*}} @_Z1fiP13__va_list_tag(i32 signext %n, %struct.__va_list_tag* %list) 30 // PNACL-C: define {{.*}} @f(i32 %n, i32* %list) 31 // PNACL-CXX: define {{.*}} @_Z1fiPi(i32 %n, i32* %list) 32 // CHARPTR-C: define {{.*}} @f(i32 %n, i8* %list) 33 // CHARPTR-CXX: define {{.*}} @_Z1fiPc(i32 %n, i8* %list) 34 // VOIDPTR-C: define {{.*}} @f(i32 %n, i8* %list) 35 // VOIDPTR-CXX: define {{.*}} @_Z1fiPv(i32 %n, i8* %list) 36 void f(int n, va_list list) {} 37