https://bugs.llvm.org/show_bug.cgi?id=49186
Bug ID: 49186
Summary: ItaniumDemangler failure on clang generated mangling
Product: new-bugs
Version: 10.0
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedb...@nondot.org
Reporter: ca...@leaningtech.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org
Created attachment 24527
--> https://bugs.llvm.org/attachment.cgi?id=24527&action=edit
Reduced test case
The easier way to reproduce is:
c++filt _ZN9SomeClassI9SomeOtherI4TypeLS1_n1EEEC2Ev
-> SomeClass<SomeOther<Type, (Type)-1> >::SomeClass()
llvm-cxxfilt _ZN9SomeClassI9SomeOtherI4TypeLS1_n1EEEC2Ev
-> _ZN9SomeClassI9SomeOtherI4TypeLS1_n1EEEC2Ev
So llvm-cxxfilt (that underneath calls llvm/lib/Demangle/ItaniumDemangler.cpp's
partial_demangle) is not able to demangle the relevant mangled name.
Then:
clang++ error_demangler.cpp -S -emit-llvm
and checking the generated error_demangler.ll it will show
_ZN9SomeClassI9SomeOtherI4TypeLS1_n1EEEC2Ev as a mangled name generated by
clang.
The problem arose during in the development of Cheerp, a JavaScript backend for
LLVM. Currently we have a work around, but it would be easier if the mangling
produced by clang is always demangleable by llvm.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs