Hi lldb devs, I prepared a small patch to improve the type consistency when dereferencing values in lldb.
The problem I'm trying to solve is that the type of a value is canonized (in clang) when the value is dereferenced. Without the patch the test I added would return the type TTuple instead of TPair. There is one issue with the patch: In theory the *compiler_type.GetChildCompilerTypeAtIndex(* call is not needed. Unfortunately, to get a name for the dereferenced value, this call is needed since only the type system (at least clang) knows a name. The dereferenced value does not necessarily have a name. However, the clang type system knows an alias (*name* if it is a reference or **name* if it is a pointer). I also tried to fix this issue in the type system directly (lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:6051). However, changing that broke several tests. Let me know what you think. kind regards, Lasse
0001-lldb-prevent-canonization-of-type-when-dereferencing.patch
Description: Binary data
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits