[all-commits] [llvm/llvm-project] df4522: [demangler] Fix undocumented Local encoding
Nathan Sidwell via All-commits
all-commits at lists.llvm.org
Wed Apr 6 10:13:27 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: df4522feb790ea574f470e45e473aac1f6483b93
https://github.com/llvm/llvm-project/commit/df4522feb790ea574f470e45e473aac1f6483b93
Author: Nathan Sidwell <nathan at acm.org>
Date: 2022-04-06 (Wed, 06 Apr 2022)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[demangler] Fix undocumented Local encoding
GCC emits [some] static symbols with an 'L' mangling, which we attempt
to demangle. But the module mangling changes have exposed that we
were doing so at the wrong level. Such manglings are outside of the
ABI as they are internal-linkage, so a bit of reverse engineering was
needed. This adjusts the demangler along the same lines as the
existing gcc demangler (which is not yet module-aware). 'L' is part
of an unqualified name. As before we merely parse the 'L', and then
ignore it.
Reviewed By: iains
Differential Revision: https://reviews.llvm.org/D123138
More information about the All-commits
mailing list