| 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 | |