summaryrefslogtreecommitdiffstats
path: root/lldb/test/tools/lldb-mi/stack/main.cpp
diff options
context:
space:
mode:
authorHafiz Abid Qadeer <hafiz_abid@mentor.com>2015-04-29 08:18:41 +0000
committerHafiz Abid Qadeer <hafiz_abid@mentor.com>2015-04-29 08:18:41 +0000
commitfda237d09fbe88371e1255acef92fe451201bedc (patch)
treeac862707691be727941d789406f5970670237b90 /lldb/test/tools/lldb-mi/stack/main.cpp
parent119998dbf14f97fdc4d52fdb4bd182f9fc0d9bb4 (diff)
downloadbcm5719-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.cpp61
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;
}
OpenPOWER on IntegriCloud