aboutsummaryrefslogtreecommitdiff
path: root/lldb/test/API/python_api
diff options
context:
space:
mode:
authorIlia Kuklin <ikuklin@accesssoftek.com>2025-05-05 20:53:04 +0500
committerGitHub <noreply@github.com>2025-05-05 20:53:04 +0500
commit0eff4108cb1e0a597ba70a4e1b8e1ce3ae0cfd46 (patch)
tree7fab34f57dc98c9d1a3f42f8ccde5cd94cdcde90 /lldb/test/API/python_api
parent4418a8e5ef865bc5062a338697ddd44b14c8005d (diff)
downloadllvm-0eff4108cb1e0a597ba70a4e1b8e1ce3ae0cfd46.zip
llvm-0eff4108cb1e0a597ba70a4e1b8e1ce3ae0cfd46.tar.gz
llvm-0eff4108cb1e0a597ba70a4e1b8e1ce3ae0cfd46.tar.bz2
[LLDB] Fix `ValueObject::AddressOf()` return value (#137688)
`ValueObject::AddressOf()` used to return address as a value which has it's own address, allowing to do `value.AddressOf().AddressOf()`. This patch makes the return address a simple const value.
Diffstat (limited to 'lldb/test/API/python_api')
-rw-r--r--lldb/test/API/python_api/sbvalue_const_addrof/main.cpp47
1 files changed, 25 insertions, 22 deletions
diff --git a/lldb/test/API/python_api/sbvalue_const_addrof/main.cpp b/lldb/test/API/python_api/sbvalue_const_addrof/main.cpp
index 318a45b..ae6abc8 100644
--- a/lldb/test/API/python_api/sbvalue_const_addrof/main.cpp
+++ b/lldb/test/API/python_api/sbvalue_const_addrof/main.cpp
@@ -3,21 +3,21 @@
struct RegisterContext
{
- uintptr_t r0;
- uintptr_t r1;
- uintptr_t r2;
- uintptr_t r3;
- uintptr_t r4;
- uintptr_t pc;
- uintptr_t fp;
- uintptr_t sp;
+ uintptr_t r0;
+ uintptr_t r1;
+ uintptr_t r2;
+ uintptr_t r3;
+ uintptr_t r4;
+ uintptr_t pc;
+ uintptr_t fp;
+ uintptr_t sp;
};
struct ThreadInfo {
- uint32_t tid;
- const char *name;
- RegisterContext regs;
- ThreadInfo *next;
+ uint32_t tid;
+ const char *name;
+ RegisterContext regs;
+ ThreadInfo *next;
};
int main (int argc, char const *argv[], char const *envp[]);
@@ -27,14 +27,17 @@ ThreadInfo *g_thread_list_ptr = &g_thread1;
int main (int argc, char const *argv[], char const *envp[])
{
- printf ("g_thread_list is %p\n", g_thread_list_ptr);
- return 0; //% v = self.dbg.GetSelectedTarget().FindFirstGlobalVariable('g_thread_list_ptr')
- //% v_gla = v.GetChildMemberWithName('regs').GetLoadAddress()
- //% v_aof = v.GetChildMemberWithName('regs').AddressOf().GetValueAsUnsigned(lldb.LLDB_INVALID_ADDRESS)
- //% expr = '(%s)0x%x' % (v.GetType().GetName(), v.GetValueAsUnsigned(0))
- //% e = v.CreateValueFromExpression('e', expr)
- //% e_gla = e.GetChildMemberWithName('regs').GetLoadAddress()
- //% e_aof = e.GetChildMemberWithName('regs').AddressOf().GetValueAsUnsigned(lldb.LLDB_INVALID_ADDRESS)
- //% self.assertTrue(v_gla == e_gla, "GetLoadAddress() differs")
- //% self.assertTrue(v_aof == e_aof, "AddressOf() differs")
+ // clang-format off
+ printf ("g_thread_list is %p\n", g_thread_list_ptr);
+ return 0; //% v = self.dbg.GetSelectedTarget().FindFirstGlobalVariable('g_thread_list_ptr')
+ //% self.assertTrue(v.AddressOf().IsValid())
+ //% self.assertFalse(v.AddressOf().AddressOf().IsValid())
+ //% v_gla = v.GetChildMemberWithName('regs').GetLoadAddress()
+ //% v_aof = v.GetChildMemberWithName('regs').AddressOf().GetValueAsUnsigned(lldb.LLDB_INVALID_ADDRESS)
+ //% expr = '(%s)0x%x' % (v.GetType().GetName(), v.GetValueAsUnsigned(0))
+ //% e = v.CreateValueFromExpression('e', expr)
+ //% e_gla = e.GetChildMemberWithName('regs').GetLoadAddress()
+ //% e_aof = e.GetChildMemberWithName('regs').AddressOf().GetValueAsUnsigned(lldb.LLDB_INVALID_ADDRESS)
+ //% self.assertTrue(v_gla == e_gla, "GetLoadAddress() differs")
+ //% self.assertTrue(v_aof == e_aof, "AddressOf() differs")
}