1 | // RUN: %clang_cc1 -std=c++17 -triple x86_64-linux-gnu -fclang-abi-compat=3.0 %s -emit-llvm -o - | FileCheck --check-prefix=PRE39 --check-prefix=PRE5 %s |
2 | // RUN: %clang_cc1 -std=c++17 -triple x86_64-linux-gnu -fclang-abi-compat=3.8 %s -emit-llvm -o - | FileCheck --check-prefix=PRE39 --check-prefix=PRE5 %s |
3 | // RUN: %clang_cc1 -std=c++17 -triple x86_64-linux-gnu -fclang-abi-compat=3.9 %s -emit-llvm -o - | FileCheck --check-prefix=V39 --check-prefix=PRE5 %s |
4 | // RUN: %clang_cc1 -std=c++17 -triple x86_64-linux-gnu -fclang-abi-compat=4.0 %s -emit-llvm -o - | FileCheck --check-prefix=V39 --check-prefix=PRE5 %s |
5 | // RUN: %clang_cc1 -std=c++17 -triple x86_64-linux-gnu -fclang-abi-compat=5 %s -emit-llvm -o - | FileCheck --check-prefix=V39 --check-prefix=V5 %s |
6 | // RUN: %clang_cc1 -std=c++17 -triple x86_64-linux-gnu -fclang-abi-compat=latest %s -emit-llvm -o - | FileCheck --check-prefix=V39 --check-prefix=V5 %s |
7 | |
8 | typedef __attribute__((vector_size(8))) long long v1xi64; |
9 | void clang39(v1xi64) {} |
10 | // PRE39: @_Z7clang39Dv1_x(i64 |
11 | // V39: @_Z7clang39Dv1_x(double |
12 | |
13 | struct A { |
14 | A(const A&) = default; |
15 | A(A&&); |
16 | }; |
17 | void clang5(A) {} |
18 | // PRE5: @_Z6clang51A() |
19 | // V5: @_Z6clang51A(%{{.*}}* |
20 | |