Issue 89914
Summary [abi] mangled name for constrained template is not demangled by llvm-cxxfilt
Labels clang, ABI
Assignees
Reporter hokein
    Example:

```
template <typename U, typename T>
concept True = true;

template <typename K>
struct Foo {
  template <True<K> U>
  void method(U t);
};

void s() {
   Foo<int> k;
 k.method(1);
}
```

Clang generates mangled name `_ZN3FooIiE6methodITk4TrueIT_EiEEvS3_` for the template specialization `Foo<int>::method`. However this mangled name can not be demangled by the official tool `llvm-cxxfilt`. 

It looks like something wrong with the constrain `True` part.

PS. gcc trunk generates a different name `_ZN3FooIiE6methodIiEEvT_`, which can be demangled, but it doesn't contain the constraint.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to