[libcxx-commits] [libcxxabi] [llvm] [ItaniumDemangle] Set `InConstraintExpr` to `true` when demangling a constraint expression (PR #107385)
Ilya Biryukov via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Sep 10 08:23:02 PDT 2024
================
@@ -0,0 +1,3 @@
+RUN: llvm-cxxfilt -n _ZN3FooIiE6methodITk4TrueIT_EiEEvS3_ | FileCheck %s
+
+CHECK: void Foo<int>::method<int>(T)
----------------
ilya-biryukov wrote:
yeah, this seems to be the case where we do show the constraints, hence can also show the "raw" parameter names.
@Michael137 given that we do show "raw" `T` and `TL` parameters in constraint expressions already, I think it's reasonable to land this workaround. Right now, the demangling completely gives up when it hits a constrained parameter, but shows raw template numbering when demangling a requires clause.
Not failing seems like a strictly better outcome, because users can at least see the other bits of demangled name (we're chasing this because some of our widely-used functions can't be demangled).
I would vouch for landing this workaround while @VitaNuo is working on a proper fix. WDYT?
https://github.com/llvm/llvm-project/pull/107385
More information about the libcxx-commits
mailing list