Issue 115231
Summary arm64ec incorrect mangling instantiating C++ template
Labels new issue
Assignees
Reporter efriedma-quic
    ```
template <typename X> struct Wrapper {
  int GetValue(void) const;
};
struct A {
  int GetValue(void) const;
};
template<typename X> int Wrapper<X>::GetValue(void) const { return 3; }
template class Wrapper<A>;
```

clang produces `?GetValue@$$h?$Wrapper@UA@@@@QEBAHXZ`, MSVC produces `?GetValue@?$Wrapper@UA@@@@$$hQEBAHXZ`.  I guess the algorithm in llvm::getArm64ECMangledFunctionName is wrong.

CC @mstorsjo @cjacek @dpaoliello @steplong 
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to