diff options
| author | Jim Ingham <jingham@apple.com> | 2023-05-30 17:12:35 -0700 |
|---|---|---|
| committer | Jim Ingham <jingham@apple.com> | 2023-05-30 17:12:35 -0700 |
| commit | 14186773e79b8c6787afac2f9ee69738151377ec (patch) | |
| tree | 9e510f99af8872bb72b34252a4785d6823797179 /lldb/test/API/python_api/process/TestProcessAPI.py | |
| parent | aaa33b6a98de2be7cdc827b13e60c103206d6461 (diff) | |
Fix SBValue::FindValue for file static variables
This was just a thinko. The API StackFrame::GetVariableList takes a
bool for "get_file_globals" which if true will also find file statics
and file globals. But we only were passing that as true if the
ValueType was eValueTypeVariableGlobal, which meant that we never find
file statics. It's okay if we cast too wide a net when we do
GetVariableList as later on we check against the ValueType to filter
globals from statics.
There was a test that had a whole bunch of globals and tested
FindValue on all of them, but had no statics. So I just made one of
the globals a file static, which verifies the fix.
Differential Revision: https://reviews.llvm.org/D151392
Diffstat (limited to 'lldb/test/API/python_api/process/TestProcessAPI.py')
| -rw-r--r-- | lldb/test/API/python_api/process/TestProcessAPI.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lldb/test/API/python_api/process/TestProcessAPI.py b/lldb/test/API/python_api/process/TestProcessAPI.py index df41397eb32b..65330e5163f7 100644 --- a/lldb/test/API/python_api/process/TestProcessAPI.py +++ b/lldb/test/API/python_api/process/TestProcessAPI.py @@ -49,8 +49,8 @@ class ProcessAPITestCase(TestBase): ) frame = thread.GetFrameAtIndex(0) - # Get the SBValue for the global variable 'my_char'. - val = frame.FindValue("my_char", lldb.eValueTypeVariableGlobal) + # Get the SBValue for the file static variable 'my_char'. + val = frame.FindValue("my_char", lldb.eValueTypeVariableStatic) self.DebugSBValue(val) # Due to the typemap magic (see lldb.swig), we pass in 1 to ReadMemory and @@ -149,8 +149,8 @@ class ProcessAPITestCase(TestBase): ) frame = thread.GetFrameAtIndex(0) - # Get the SBValue for the global variable 'my_char'. - val = frame.FindValue("my_char", lldb.eValueTypeVariableGlobal) + # Get the SBValue for the static variable 'my_char'. + val = frame.FindValue("my_char", lldb.eValueTypeVariableStatic) self.DebugSBValue(val) # If the variable does not have a load address, there's no sense |
