diff options
author | Hafiz Abid Qadeer <hafiz_abid@mentor.com> | 2015-04-29 08:18:41 +0000 |
---|---|---|
committer | Hafiz Abid Qadeer <hafiz_abid@mentor.com> | 2015-04-29 08:18:41 +0000 |
commit | fda237d09fbe88371e1255acef92fe451201bedc (patch) | |
tree | ac862707691be727941d789406f5970670237b90 /lldb/test/tools/lldb-mi/stack/main.cpp | |
parent | 119998dbf14f97fdc4d52fdb4bd182f9fc0d9bb4 (diff) | |
download | bcm5719-llvm-fda237d09fbe88371e1255acef92fe451201bedc.tar.gz bcm5719-llvm-fda237d09fbe88371e1255acef92fe451201bedc.zip |
Add support for -stack-list-variables.
This command is able to list both local variables and stack arguments for a specific thread/frame.
Args are denoted with 'arg="1"'.
Patch from Chuck Ries.
llvm-svn: 236090
Diffstat (limited to 'lldb/test/tools/lldb-mi/stack/main.cpp')
-rw-r--r-- | lldb/test/tools/lldb-mi/stack/main.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/lldb/test/tools/lldb-mi/stack/main.cpp b/lldb/test/tools/lldb-mi/stack/main.cpp index 72e8a8af52c..e11f83e108e 100644 --- a/lldb/test/tools/lldb-mi/stack/main.cpp +++ b/lldb/test/tools/lldb-mi/stack/main.cpp @@ -27,6 +27,13 @@ local_int_test(void) } int +local_int_test_with_args(int c, int d) +{ + int a = 10, b = 20; + return 0; // BP_local_int_test_with_args +} + +int local_struct_test(void) { struct my_type var_c; @@ -36,6 +43,15 @@ local_struct_test(void) return 0; // BP_local_struct_test } +int local_struct_test_with_args(struct my_type var_e) +{ + struct my_type var_c; + var_c.var_a = 10; + var_c.var_b = 'a'; + var_c.inner_.var_d = 30; + return 0; // BP_local_struct_test_with_args +} + int local_array_test(void) { @@ -47,6 +63,16 @@ local_array_test(void) } int +local_array_test_with_args(int* other_array) +{ + int array[3]; + array[0] = 100; + array[1] = 200; + array[2] = 300; + return 0; // BP_local_array_test_with_args +} + +int local_pointer_test(void) { const char *test_str = "Rakaposhi"; @@ -56,11 +82,46 @@ local_pointer_test(void) } int +local_pointer_test_with_args(const char *arg_str, int *arg_ptr) +{ + const char *test_str = "Rakaposhi"; + int var_e = 24; + int *ptr = &var_e; + return 0; // BP_local_pointer_test_with_args +} + +int do_tests_with_args() +{ + local_int_test_with_args(30, 40); + + struct my_type var_e; + var_e.var_a = 20; + var_e.var_b = 'b'; + var_e.inner_.var_d = 40; + local_struct_test_with_args(var_e); + + int array[3]; + array[0] = 400; + array[1] = 500; + array[2] = 600; + local_array_test_with_args(array); + + const char *test_str = "String"; + int var_z = 25; + int *ptr = &var_z; + local_pointer_test_with_args(test_str, ptr); + + return 0; +} + +int main(int argc, char const *argv[]) { local_int_test(); local_struct_test(); local_array_test(); local_pointer_test(); + + do_tests_with_args(); return 0; } |