[Lldb-commits] [PATCH] D17618: Improve looking up functions with equivalent mangled names.
Siva Chandra via lldb-commits
lldb-commits at lists.llvm.org
Thu Feb 25 10:58:29 PST 2016
sivachandra created this revision.
sivachandra added reviewers: spyffe, clayborg.
sivachandra added a subscriber: lldb-commits.
This, in a way, extends the existing "workaroud" by matching function
argument type names individually [instead of just matching "(args1...)"
with "(args2...)"]. For type name matching, a new method
CPlusPlusLanguage::TypeNamesEqual has been added. For now, this method
can only handle variations like:
<typename> * vs <typename>*
const <typename> vs <typename> const
const <typename> * const vs <typename> const * const
We can extend it to handle more complex name formats as needed.
The immediate benefit of this change is with evaluating std::map's
subscript operator when producer is GCC. Consider the following:
std::map<std::string, std::string> m;
std::string s("1");
m[s] = "one";
... ; // Break here
The command "expr m[s]" fails without this change if the producer is
GCC.
http://reviews.llvm.org/D17618
Files:
include/lldb/Symbol/SymbolFile.h
packages/Python/lldbsuite/test/lang/cpp/stl/TestSTL.py
packages/Python/lldbsuite/test/lang/cpp/stl/main.cpp
source/Expression/IRExecutionUnit.cpp
source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
source/Symbol/SymbolFile.cpp
unittests/CMakeLists.txt
unittests/Language/CMakeLists.txt
unittests/Language/CPlusPlus/CMakeLists.txt
unittests/Language/CPlusPlus/TypeNamesEqualityTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17618.49096.patch
Type: text/x-patch
Size: 17499 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160225/15c69337/attachment-0001.bin>
More information about the lldb-commits
mailing list