[all-commits] [llvm/llvm-project] 97ca9c: [lldb] Fix bitfield "frame var" for pointers (pr47...
Pavel Labath via All-commits
all-commits at lists.llvm.org
Mon Oct 26 04:01:42 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 97ca9ca180f0810adcc1637d1a6dd32a04f63cfe
https://github.com/llvm/llvm-project/commit/97ca9ca180f0810adcc1637d1a6dd32a04f63cfe
Author: Pavel Labath <pavel at labath.sk>
Date: 2020-10-26 (Mon, 26 Oct 2020)
Changed paths:
M lldb/source/Core/ValueObjectChild.cpp
M lldb/test/API/lang/c/bitfields/TestBitfields.py
M lldb/test/API/lang/c/bitfields/main.c
Log Message:
-----------
[lldb] Fix bitfield "frame var" for pointers (pr47743)
Displaying large packed bitfields did not work if one was accessing them
through a pointer, and he used the "->" notation ("[0]." notation is
fine). The reason for that is that implicit dereference in -> is plumbed
all the way down to ValueObjectChild::UpdateValue, where the process of
fetching the child value was forked for this flag. The bitfield
"sliding" code was implemented only for the branch which did not require
dereferencing.
This patch restructures the function to avoid this mistake. Processing
now happens in two stages.
- first the parent is dereferenced (if needed)
- then the child value is computed (this step includes sliding and is
common for both branches)
Differential Revision: https://reviews.llvm.org/D89236
Commit: e4cc6e9bcdff5fe979ab72025cb803d723cd9c31
https://github.com/llvm/llvm-project/commit/e4cc6e9bcdff5fe979ab72025cb803d723cd9c31
Author: Pavel Labath <pavel at labath.sk>
Date: 2020-10-26 (Mon, 26 Oct 2020)
Changed paths:
M lldb/include/lldb/Host/PseudoTerminal.h
M lldb/source/Host/common/PseudoTerminal.cpp
M lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
Log Message:
-----------
[lldb] Modernize PseudoTerminal::Fork
Compare: https://github.com/llvm/llvm-project/compare/f5ca27569eac...e4cc6e9bcdff
More information about the All-commits
mailing list