Richard Smith | f667ad5 | 2017-08-26 01:04:35 +0000 | [diff] [blame] | 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(%{{.*}}* |