[all-commits] [llvm/llvm-project] 134e18: [lldb] change name demangling to be consistent bet...
lfolger via All-commits
all-commits at lists.llvm.org
Tue Oct 19 03:05:07 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 134e1817f62c08cde1ed1f7e94e51425536085ac
https://github.com/llvm/llvm-project/commit/134e1817f62c08cde1ed1f7e94e51425536085ac
Author: Lasse Folger <lassefolger at google.com>
Date: 2021-10-19 (Tue, 19 Oct 2021)
Changed paths:
M lldb/source/Core/Mangled.cpp
M llvm/include/llvm/Demangle/Demangle.h
M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
M llvm/test/Demangle/ms-options.test
M llvm/tools/llvm-undname/llvm-undname.cpp
Log Message:
-----------
[lldb] change name demangling to be consistent between windows and linx
When printing names in lldb on windows these names contain the full type information while on linux only the name is contained.
This change introduces a flag in the Microsoft demangler to control if the type information should be included.
With the flag enabled demangled name contains only the qualified name, e.g:
without flag -> with flag
int (*array2d)[10] -> array2d
int (*abc::array2d)[10] -> abc::array2d
const int *x -> x
For globals there is a second inconsistency which is not yet addressed by this change. On linux globals (in global namespace) are prefixed with :: while on windows they are not.
Reviewed By: teemperor, rnk
Differential Revision: https://reviews.llvm.org/D111715
More information about the All-commits
mailing list