[clang] [clang] fix unresolved dependent template specialization mangling (PR #135111)
Matheus Izvekov via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 24 09:02:15 PDT 2025
================
@@ -399,3 +399,20 @@ namespace type_qualifier {
// CHECK: @_ZN14type_qualifier1gIPiEEvDTcmcvv_ELi1EE
template void g<int*>(int);
}
+
+namespace unresolved_template_specialization_type {
+ template <int> struct enable_if {};
+ struct Foo {
+ static const int value = true;
+ };
+ struct HashStateBase {
+ template <typename> using is_hashable = Foo;
+ };
+ template <class> struct raw_hash_set {
+ template <typename H>
+ static enable_if<H::template is_hashable<int>::value>
+ AbslHashValue() {}
+ };
+ template enable_if<true> raw_hash_set<int>::AbslHashValue<HashStateBase>();
+ // CHECH: @_ZN39unresolved_template_specialization_type12raw_hash_setIiE13AbslHashValueINS_13HashStateBaseEEENS_9enable_ifIXsrNT_11is_hashableIiEE5valueEEEv
----------------
mizvekov wrote:
fixed in c7fbabaf87f9411fbcc48a33efaa76f0f03135e9
https://github.com/llvm/llvm-project/pull/135111
More information about the cfe-commits
mailing list