[libcxx-commits] [libcxxabi] [llvm] [ItaniumDemangle] Set `InConstraintExpr` to `true` when demangling a c… (PR #107385)
Viktoriia Bakalova via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Sep 10 05:44:33 PDT 2024
================
@@ -0,0 +1,3 @@
+RUN: llvm-cxxfilt -n _ZN3FooIiE6methodITk4TrueIT_EiEEvS3_ | FileCheck %s
+
+CHECK: void Foo<int>::method<int>(T)
----------------
VitaNuo wrote:
> I think @VitaNuo showed me an example where we do already print those names (in constraints, not in lambda parameters). Hence, this workaround made sense until the proper fix lands.
@VitaNuo do you have those examples?
Possibly these
```
{"_ZZN5test71fIiEEvvENKUlTyQaa1CIT_E1CITL0__ET0_E_clIiiEEDaS3_Q1CIDtfp_EE", "auto void test7::f<int>()::'lambda'<typename $T> requires C<T> && C<TL0_> (auto)::operator()<int, int>(auto) const requires C<decltype(fp)>"},
{"_ZZN5test71fIiEEvvENKUlTyQaa1CIT_E1CITL0__ET0_E0_clIiiEEDaS3_Qaa1CIDtfp_EELb1E", "auto void test7::f<int>()::'lambda0'<typename $T> requires C<T> && C<TL0_> (auto)::operator()<int, int>(auto) const requires C<decltype(fp)> && true"},
{"_ZZN5test71fIiEEvvENKUlTyQaa1CIT_E1CITL0__ET0_E1_clIiiEEDaS3_Q1CIDtfp_EE", "auto void test7::f<int>()::'lambda1'<typename $T> requires C<T> && C<TL0_> (auto)::operator()<int, int>(auto) const requires C<decltype(fp)>"},
```
from `libcxxabi/test/test_demangle.pass.cpp`. These don't demangle without setting [`InConstraintExpr`](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Demangle/ItaniumDemangle.h#L5679).
But I don't remember showing you any such examples apart from the one in this PR, to be honest.
https://github.com/llvm/llvm-project/pull/107385
More information about the libcxx-commits
mailing list