1
1
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
2
2
// See https://llvm.org/LICENSE.txt for license information.
3
3
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
+ // RUN: cxx_compiler cxx_11 -fclang-abi-compat=17 -c %s -o %t.o
5
+ // RUN: bindump %t.o | FileCheck prefixes --check-prefix=LP64-17 --check-prefix=CHECK17 %s
4
6
// RUN: cxx_compiler cxx_11 -c %s -o %t.o
5
- // RUN: bindump %t.o | FileCheck prefixes %s
7
+ // RUN: bindump %t.o | FileCheck prefixes --check-prefix=LP64-18 --check-prefix=CHECK18 %s
6
8
7
9
8
10
@@ -22,25 +24,35 @@ enum colour { RED = -3, GREEN, BLUE};
22
24
// use long type for enumeration
23
25
enum bigcolour { YELLOW = (1l << 32), CYAN, MAGENTA};
24
26
void callreturnit() {
25
- // CHECK-DAG: _Z8returnitIiLi4EET_v
27
+ // CHECK17-DAG: _Z8returnitIiLi4EET_v
28
+ // CHECK18-DAG: _Z8returnitIiTnT_Li4EES0_v
26
29
auto a = returnit<int, 4>();
27
- // CHECK-DAG: _Z8returnitIjLj4EET_v
30
+ // CHECK17-DAG: _Z8returnitIjLj4EET_v
31
+ // CHECK18-DAG: _Z8returnitIjTnT_Lj4EES0_v
28
32
auto b = returnit<unsigned int, 4>();
29
- // CHECK-DAG: _Z8returnitIlLl4EET_v
33
+ // CHECK17-DAG: _Z8returnitIlLl4EET_v
34
+ // CHECK18-DAG: _Z8returnitIlTnT_Ll4EES0_v
30
35
auto c = returnit<long, 4>();
31
- // CHECK-DAG: _Z8returnitImLm4EET_v
36
+ // CHECK17-DAG: _Z8returnitImLm4EET_v
37
+ // CHECK18-DAG: _Z8returnitImTnT_Lm4EES0_v
32
38
auto d = returnit<unsigned long, 4>();
33
- // CHECK-DAG: _Z8returnitIxLxn456789EET_v
39
+ // CHECK17-DAG: _Z8returnitIxLxn456789EET_v
40
+ // CHECK18-DAG: _Z8returnitIxTnT_Lxn456789EES0_v
34
41
auto e = returnit<long long, -456789>();
35
- // CHECK-DAG: _Z8returnitIbLb1EET_v
42
+ // CHECK17-DAG: _Z8returnitIbLb1EET_v
43
+ // CHECK18-DAG: _Z8returnitIbTnT_Lb1EES0_v
36
44
auto f = returnit<bool, true>();
37
- // CHECK-DAG: _Z8returnitIbLb0EET_v
45
+ // CHECK17-DAG: _Z8returnitIbLb0EET_v
46
+ // CHECK18-DAG: _Z8returnitIbTnT_Lb0EES0_v
38
47
auto g = returnit<bool, false>();
39
- // CHECK-DAG: _Z8returnitIDnLDn0EET_v
48
+ // CHECK17-DAG: _Z8returnitIDnLDn0EET_v
49
+ // CHECK18-DAG: _Z8returnitIDnTnT_LDn0EES0_v
40
50
auto n = returnit<std::nullptr_t, nullptr>();
41
- // CHECK-DAG: _Z8returnitI6colourLS0_n2EET_v
51
+ // CHECK17-DAG: _Z8returnitI6colourLS0_n2EET_v
52
+ // CHECK18-DAG: _Z8returnitI6colourTnT_LS0_n2EES1_v
42
53
auto cg = returnit<colour, GREEN>();
43
- // LP64-DAG: _Z8returnitI9bigcolourLS0_4294967296EET_v
54
+ // LP64-17-DAG: _Z8returnitI9bigcolourLS0_4294967296EET_v
55
+ // LP64-18-DAG: _Z8returnitI9bigcolourTnT_LS0_4294967296EES1_v
44
56
// ILP32-DAG: _Z8returnitI9bigcolourLS0_n2147483648EET_v
45
57
auto cy = returnit<bigcolour, YELLOW>();
46
58
}
0 commit comments