diff options
author | Jonas Devlieghere <jonas@devlieghere.com> | 2018-09-13 15:18:39 +0000 |
---|---|---|
committer | Jonas Devlieghere <jonas@devlieghere.com> | 2018-09-13 15:18:39 +0000 |
commit | bf2d112c15c407a5ff9a3ecbba8ec638cd989e85 (patch) | |
tree | 578519a0c8182d5b236c529a54edd01d78270504 /llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp | |
parent | aaec3c62602c389e90feb98d8746c63349e81533 (diff) | |
download | llvm-bf2d112c15c407a5ff9a3ecbba8ec638cd989e85.zip llvm-bf2d112c15c407a5ff9a3ecbba8ec638cd989e85.tar.gz llvm-bf2d112c15c407a5ff9a3ecbba8ec638cd989e85.tar.bz2 |
[DWARFExpression] Read literars as unsigned values.
After landing r341457, we started seeing a failure on the swift-lldb
bots. The change was correct and pretty straightforward, a DW_OP_constu
was replaced with DW_OP_lit23, the value remaining identical.
0x000000f4: DW_TAG_variable
DW_AT_location (0x00000000
[0x0000000100000a51, 0x0000000100000d47): DW_OP_lit23, DW_OP_stack_value)
DW_AT_name ("number")
However, this broke LLDB.
(Int) number = <extracting data from value failed>
The value was read correctly, but apparently the value's type was different.
When reading a constu it was reading a uint64 (m_type = e_ulonglong) while for
the literal, it got a signed int (m_type = e_sint). This change makes sure we
read the value as an unsigned.
Differential revision: https://reviews.llvm.org/D51730
llvm-svn: 342142
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp')
0 files changed, 0 insertions, 0 deletions