llvm-project/lldb/source/Expression
Pavel Labath 773b849c10 [lldb/DWARF] Switch to llvm location list parser
Summary:
This patch deletes the lldb location list parser and teaches the
DWARFExpression class to use the parser in llvm instead. I have
centralized all the places doing the parsing into a single
GetLocationExpression function.

In theory the the actual location list parsing should be covered by llvm
tests, and this glue code by our existing location list tests, but since
we don't have that many location list tests, I've tried to extend the
coverage a bit by adding some explicit dwarf5 loclist handling and a
test of the dumping code.

For DWARF4 location lists this should be NFC (modulo small differences
in error handling which should only show up on invalid inputs). In case
of DWARF5, this fixes various missing bits of functionality, most
notably, the lack of support for DW_LLE_offset_pair.

Reviewers: JDevlieghere, aprantl, clayborg

Subscribers: lldb-commits, dblaikie

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D71003
2019-12-09 13:39:10 +01:00
..
CMakeLists.txt [Expression] Move IRDynamicChecks to ClangExpressionParser 2019-07-12 00:58:02 +00:00
DWARFExpression.cpp [lldb/DWARF] Switch to llvm location list parser 2019-12-09 13:39:10 +01:00
DiagnosticManager.cpp [lldb][NFC] Use unique_ptr in DiagnosticManager to express ownership 2019-10-10 08:30:10 +00:00
Expression.cpp [lldb][NFC] Move LLVM RTTI implementation from enum to static ID variable 2019-11-12 10:04:32 +01:00
ExpressionVariable.cpp Revert "[lldb] Move redundant persistent variable counter to ClangPersistentVariables" 2019-08-27 22:50:40 +00:00
FunctionCaller.cpp [lldb][NFC] Move LLVM RTTI implementation from enum to static ID variable 2019-11-12 10:04:32 +01:00
IRExecutionUnit.cpp [lldb/IRExecutionUnit] Stop searching based on demangled names 2019-12-06 10:17:49 +01:00
IRInterpreter.cpp [Logging] Replace Log::Printf with LLDB_LOG macro (NFC) 2019-07-24 17:56:10 +00:00
IRMemoryMap.cpp [Logging] Replace Log::Printf with LLDB_LOG macro (NFC) 2019-07-24 17:56:10 +00:00
LLVMUserExpression.cpp [lldb][NFC] Move LLVM RTTI implementation from enum to static ID variable 2019-11-12 10:04:32 +01:00
Materializer.cpp [CompilerType] Pass an ExecutionContextScope to GetTypeBitAlign. 2019-08-12 21:49:54 +00:00
REPL.cpp remove a smattering of isolated, unnecessary uses of FILE* 2019-10-09 21:50:52 +00:00
UserExpression.cpp [lldb][NFC] Move LLVM RTTI implementation from enum to static ID variable 2019-11-12 10:04:32 +01:00
UtilityFunction.cpp [lldb][NFC] Move LLVM RTTI implementation from enum to static ID variable 2019-11-12 10:04:32 +01:00