xref: /llvm-project/lldb/test/API/python_api/value/main.c (revision 3707c540d23a5684a1c37b0f7e41c1d8ed7f1f8a)
1 #include <stdio.h>
2 #include <stdint.h>
3 
4 // This simple program is to test the lldb Python API SBValue.GetChildAtIndex().
5 
6 int g_my_int = 100;
7 
8 const char *days_of_week[7] = { "Sunday",
9                                 "Monday",
10                                 "Tuesday",
11                                 "Wednesday",
12                                 "Thursday",
13                                 "Friday",
14                                 "Saturday" };
15 
16 const char *weekdays[5] = { "Monday",
17                             "Tuesday",
18                             "Wednesday",
19                             "Thursday",
20                             "Friday" };
21 
22 const char **g_table[2] = { days_of_week, weekdays };
23 
24 typedef int MyInt;
25 
26 struct MyStruct
27 {
28   int a;
29   int b;
30 };
31 
32 struct MyBiggerStruct
33 {
34   int a;
35   int b;
36   int c;
37 };
38 
39 struct Container
40 {
41   int discriminator;
42   union Data {
43     struct MyStruct small;
44     struct MyBiggerStruct big;
45   } data;
46 };
47 
main(int argc,char const * argv[])48 int main (int argc, char const *argv[])
49 {
50     uint32_t uinthex = 0xE0A35F10;
51     int32_t  sinthex = 0xE0A35F10;
52 
53     int i;
54     MyInt a = 12345;
55     struct MyStruct s = {11, 22};
56     struct MyBiggerStruct f = { 33, 44, 55 };
57     struct Container my_container;
58     my_container.data.big = f;
59     int *my_int_ptr = &g_my_int;
60     printf("my_int_ptr points to location %p\n", my_int_ptr);
61     int *fixed_int_ptr = (int*)(void*)0xAA;
62     int *another_fixed_int_ptr = (int*)(void*)0xAA;
63     int *a_null_int_ptr = NULL;
64     const char **str_ptr = days_of_week;
65     for (i = 0; i < 7; ++i)
66         printf("%s\n", str_ptr[i]); // Break at this line
67                                     // and do str_ptr_val.GetChildAtIndex(5, lldb.eNoDynamicValues, True).
68 
69     return 0;
70 }
71