hanchenye-llvm-project/lldb/unittests
Adrian Prantl 9b23df63ec Implement DW_OP_convert
This patch adds basic support for DW_OP_convert[1] for integer
types. Recent versions of LLVM's optimizer may insert this opcode into
DWARF expressions. DW_OP_convert is effectively a type cast operation
that takes a reference to a base type DIE (or zero) and then casts the
value at the top of the DWARF stack to that type. Internally this
works by changing the bit size of the APInt that is used as backing
storage for LLDB's DWARF stack.

I managed to write a unit test for this by implementing a mock YAML
object file / module that takes debug info sections in yaml2obj
format.

[1] Typed DWARF stack. http://www.dwarfstd.org/ShowIssue.php?issue=140425.1

<rdar://problem/48167864>

Differential Revision: https://reviews.llvm.org/D67369

llvm-svn: 371532
2019-09-10 16:17:38 +00:00
..
Breakpoint
Core unittests: Use yaml2obj as a library instead of an external process 2019-08-20 12:28:36 +00:00
Disassembler When disassembling Aarch64 target and vendor Apple, set the cpu to 2019-03-07 03:16:45 +00:00
Editline [lldb][NFC] Allow for-ranges on StringList 2019-08-16 14:27:35 +00:00
Expression Implement DW_OP_convert 2019-09-10 16:17:38 +00:00
Host [LLDB] Migrate llvm::make_unique to std::make_unique 2019-08-14 22:19:23 +00:00
Interpreter [lldb][NFC] Remove WordComplete mode, make result array indexed from 0 and remove any undocumented/redundant return values 2019-08-22 07:41:23 +00:00
Language Make CPlusPlusNameParser robust against nullptr StringRefs. 2019-05-31 00:18:42 +00:00
ObjectFile Breakpad: Add support for parsing STACK WIN records 2019-08-26 11:25:28 +00:00
Platform
Process Convert minidump unittests to use llvm::yaml::convertYAML 2019-08-20 12:53:42 +00:00
ScriptInterpreter [CMake] Only the Python scirpt interpreter should link against Python. 2019-04-01 22:03:04 +00:00
Signals
Symbol Fix windows build after r369894 2019-08-26 12:42:32 +00:00
SymbolFile Fix GetDIEForDeclContext so it only returns entries matching the provided context 2019-08-29 15:30:52 +00:00
Target Move ProcessInstanceInfoTest to Utility 2019-08-26 13:07:02 +00:00
TestingSupport Properly EXCLUDE_FROM_ALL the testing support library 2019-08-21 08:21:51 +00:00
UnwindAssembly Add support for mid-function epilogues on x86 that end in a non-local jump. 2019-06-03 22:34:12 +00:00
Utility Implement DW_OP_convert 2019-09-10 16:17:38 +00:00
debugserver [NFC] Remove ASCII lines from comments 2019-04-10 20:48:55 +00:00
tools [lldb-server] Disable a test on Windows until it can be fixed 2019-08-16 03:49:41 +00:00
CMakeLists.txt [CMake] Align debugserver with lldb-server on Darwin 2019-07-20 11:18:31 +00:00
gtest_common.h