Skip to content

Commit 832297c

Browse files
authored
Fix compatibility version in test (#97128)
The mangling compatibility being tested here changed between Clang 17 and 18, not between 16 and 17, so change the "old" version to 17. As requested by @ahatanak in [post-commit review](7421dd5#commitcomment-128651446).
1 parent 1cdcec5 commit 832297c

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

clang/test/CodeGenCXX/mangle-concept.cpp

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %clang_cc1 -verify -std=c++20 -emit-llvm -triple %itanium_abi_triple -o - %s -fclang-abi-compat=latest | FileCheck %s
2-
// RUN: %clang_cc1 -verify -std=c++20 -emit-llvm -triple %itanium_abi_triple -o - %s -fclang-abi-compat=16 | FileCheck %s --check-prefix=CLANG16
2+
// RUN: %clang_cc1 -verify -std=c++20 -emit-llvm -triple %itanium_abi_triple -o - %s -fclang-abi-compat=17 | FileCheck %s --check-prefix=CLANG17
33
// expected-no-diagnostics
44

55
namespace test1 {
@@ -8,7 +8,7 @@ template <typename> concept C = true;
88
template <typename T = int> S<C<T>> f0() { return S<C<T>>{}; }
99
template S<C<int>> f0<>();
1010
// CHECK: @_ZN5test12f0IiEENS_1SIX1CIT_EEEEv(
11-
// CLANG16: @_ZN5test12f0IiEENS_1SIL_ZNS_1CIT_EEEEEv(
11+
// CLANG17: @_ZN5test12f0IiEENS_1SIL_ZNS_1CIT_EEEEEv(
1212
}
1313

1414
template <bool> struct S {};
@@ -18,12 +18,12 @@ template <typename, typename> concept D = true;
1818
template <typename T = int> S<test1::C<T>> f0a() { return S<C<T>>{}; }
1919
template S<test1::C<int>> f0a<>();
2020
// CHECK: @_Z3f0aIiE1SIXsr5test1E1CIT_EEEv(
21-
// CLANG16: @_Z3f0aIiE1SIL_ZN5test11CIT_EEEEv(
21+
// CLANG17: @_Z3f0aIiE1SIL_ZN5test11CIT_EEEEv(
2222

2323
template <typename T = int> S<C<T>> f0() { return S<C<T>>{}; }
2424
template S<C<int>> f0<>();
2525
// CHECK: @_Z2f0IiE1SIX1CIT_EEEv(
26-
// CLANG16: @_Z2f0IiE1SIL_Z1CIT_EEEv(
26+
// CLANG17: @_Z2f0IiE1SIL_Z1CIT_EEEv(
2727

2828
template<typename T> concept True = true;
2929

@@ -56,25 +56,25 @@ namespace test2 {
5656
// CHECK-LABEL: define {{.*}}@{{.*}}test2{{.*}}use
5757
void use() {
5858
// CHECK: call {{.*}}@_ZN5test21AIiEF1fEzQ4TrueIT_E(
59-
// CLANG16: call {{.*}}@_ZN5test21fEz(
59+
// CLANG17: call {{.*}}@_ZN5test21fEz(
6060
f(ai);
6161
// CHECK: call {{.*}}@_ZN5test2F1gIvEEvzQaa4TrueIT_E4TrueITL0__E(
62-
// CLANG16: call {{.*}}@_ZN5test21gIvEEvz(
62+
// CLANG17: call {{.*}}@_ZN5test21gIvEEvz(
6363
g(ai);
6464
// CHECK: call {{.*}}@_ZN5test21hIvEEvzQ4TrueITL0__E(
65-
// CLANG16: call {{.*}}@_ZN5test21hIvEEvz(
65+
// CLANG17: call {{.*}}@_ZN5test21hIvEEvz(
6666
h(ai);
6767
// CHECK: call {{.*}}@_ZN5test2F1iIvQaa4TrueIT_E4TrueITL0__EEEvz(
68-
// CLANG16: call {{.*}}@_ZN5test21iIvEEvz(
68+
// CLANG17: call {{.*}}@_ZN5test21iIvEEvz(
6969
i(ai);
7070
// CHECK: call {{.*}}@_ZN5test21jIvQ4TrueITL0__EEEvz(
71-
// CLANG16: call {{.*}}@_ZN5test21jIvEEvz(
71+
// CLANG17: call {{.*}}@_ZN5test21jIvEEvz(
7272
j(ai);
7373
// CHECK: call {{.*}}@_ZN5test2F1kITk4TruevQ4TrueIT_EEEvz(
74-
// CLANG16: call {{.*}}@_ZN5test21kIvEEvz(
74+
// CLANG17: call {{.*}}@_ZN5test21kIvEEvz(
7575
k(ai);
7676
// CHECK: call {{.*}}@_ZN5test21lITk4TruevEEvz(
77-
// CLANG16: call {{.*}}@_ZN5test21lIvEEvz(
77+
// CLANG17: call {{.*}}@_ZN5test21lIvEEvz(
7878
l(ai);
7979
}
8080
}
@@ -84,51 +84,51 @@ namespace test3 {
8484
template<auto> void d() {}
8585
template void d<0>();
8686
// CHECK: define {{.*}}@_ZN5test31dITnDaLi0EEEvv(
87-
// CLANG16: define {{.*}}@_ZN5test31dILi0EEEvv(
87+
// CLANG17: define {{.*}}@_ZN5test31dILi0EEEvv(
8888

8989
template<decltype(auto)> void e() {}
9090
template void e<0>();
9191
// CHECK: define {{.*}}@_ZN5test31eITnDcLi0EEEvv(
92-
// CLANG16: define {{.*}}@_ZN5test31eILi0EEEvv(
92+
// CLANG17: define {{.*}}@_ZN5test31eILi0EEEvv(
9393

9494
// Constrained auto.
9595
template<C auto> void f() {}
9696
template void f<0>();
9797
// CHECK: define {{.*}}@_ZN5test31fITnDk1CLi0EEEvv(
98-
// CLANG16: define {{.*}}@_ZN5test31fILi0EEEvv(
98+
// CLANG17: define {{.*}}@_ZN5test31fILi0EEEvv(
9999

100100
template<D<int> auto> void g() {}
101101
template void g<0>();
102102
// CHECK: define {{.*}}@_ZN5test31gITnDk1DIiELi0EEEvv(
103-
// CLANG16: define {{.*}}@_ZN5test31gILi0EEEvv(
103+
// CLANG17: define {{.*}}@_ZN5test31gILi0EEEvv(
104104

105105
template<typename T, D<T> auto> void h() {}
106106
template void h<int, 0>();
107107
// CHECK: define {{.*}}@_ZN5test31hIiTnDk1DIT_ELi0EEEvv(
108-
// CLANG16: define {{.*}}@_ZN5test31hIiLi0EEEvv(
108+
// CLANG17: define {{.*}}@_ZN5test31hIiLi0EEEvv(
109109

110110
template<typename T> void i(decltype(new C auto(T()))) {}
111111
template void i<int>(int*);
112112
// CHECK: define {{.*}}@_ZN5test31iIiEEvDTnw_Dk1CpicvT__EEE(
113-
// CLANG16: define {{.*}}@_ZN5test31iIiEEvDTnw_DapicvT__EEE(
113+
// CLANG17: define {{.*}}@_ZN5test31iIiEEvDTnw_DapicvT__EEE(
114114

115115
template<typename T> void j(decltype(new C decltype(auto)(T()))) {}
116116
template void j<int>(int*);
117117
// CHECK: define {{.*}}@_ZN5test31jIiEEvDTnw_DK1CpicvT__EEE(
118-
// CLANG16: define {{.*}}@_ZN5test31jIiEEvDTnw_DcpicvT__EEE(
118+
// CLANG17: define {{.*}}@_ZN5test31jIiEEvDTnw_DcpicvT__EEE(
119119
}
120120

121121
namespace test4 {
122122
// Constrained type parameters.
123123
template<C> void f() {}
124124
template void f<int>();
125125
// CHECK: define {{.*}}@_ZN5test41fITk1CiEEvv(
126-
// CLANG16: define {{.*}}@_ZN5test41fIiEEvv(
126+
// CLANG17: define {{.*}}@_ZN5test41fIiEEvv(
127127

128128
template<D<int>> void g() {}
129129
template void g<int>();
130130
// CHECK: define {{.*}}@_ZN5test41gITk1DIiEiEEvv(
131-
// CLANG16: define {{.*}}@_ZN5test41gIiEEvv(
131+
// CLANG17: define {{.*}}@_ZN5test41gIiEEvv(
132132
}
133133

134134
namespace test5 {
@@ -175,32 +175,32 @@ namespace test5 {
175175

176176
template<template<typename ...> typename> void p() {}
177177
// CHECK: define {{.*}}@_ZN5test51pINS_1AEEEvv(
178-
// CLANG16: define {{.*}}@_ZN5test51pINS_1AEEEvv(
178+
// CLANG17: define {{.*}}@_ZN5test51pINS_1AEEEvv(
179179
template void p<A>();
180180
// CHECK: define {{.*}}@_ZN5test51pITtTpTyENS_1BEEEvv(
181-
// CLANG16: define {{.*}}@_ZN5test51pINS_1BEEEvv(
181+
// CLANG17: define {{.*}}@_ZN5test51pINS_1BEEEvv(
182182
template void p<B>();
183183

184184
template<template<typename, typename> typename> void q() {}
185185
// CHECK: define {{.*}}@_ZN5test51qITtTyTyENS_1AEEEvv(
186-
// CLANG16: define {{.*}}@_ZN5test51qINS_1AEEEvv(
186+
// CLANG17: define {{.*}}@_ZN5test51qINS_1AEEEvv(
187187
template void q<A>();
188188
// CHECK: define {{.*}}@_ZN5test51qINS_1BEEEvv(
189-
// CLANG16: define {{.*}}@_ZN5test51qINS_1BEEEvv(
189+
// CLANG17: define {{.*}}@_ZN5test51qINS_1BEEEvv(
190190
template void q<B>();
191191
}
192192

193193
namespace test6 {
194194
// Abbreviated function templates.
195195
void f(C auto) {}
196196
// CHECK: define {{.*}}@_ZN5test61fITk1CiEEvT_(
197-
// CLANG16: define {{.*}}@_ZN5test61fIiEEvT_(
197+
// CLANG17: define {{.*}}@_ZN5test61fIiEEvT_(
198198
template void f(int);
199199

200200
template<typename T>
201201
void g(D<T> auto) {}
202202
// CHECK: define {{.*}}@_ZN5test61gIiTk1DIT_EiEEvT0_(
203-
// CLANG16: define {{.*}}@_ZN5test61gIiiEEvT0_(
203+
// CLANG17: define {{.*}}@_ZN5test61gIiiEEvT0_(
204204
template void g<int>(int);
205205
}
206206

0 commit comments

Comments
 (0)