xref: /llvm-project/lldb/test/API/functionalities/location-list-lookup/main.cpp (revision 58bdef2be75263a9b6bf93faf3baccc76e31e082)
1*58bdef2bSMichael Buch #include <cstdio>
2*58bdef2bSMichael Buch #include <cstdlib>
3*58bdef2bSMichael Buch 
4*58bdef2bSMichael Buch void func(int in);
5*58bdef2bSMichael Buch 
6*58bdef2bSMichael Buch struct Foo {
7*58bdef2bSMichael Buch   int x;
8*58bdef2bSMichael Buch   [[clang::noinline]] void bar(char **argv);
9*58bdef2bSMichael Buch };
10*58bdef2bSMichael Buch 
main(int argc,char ** argv)11*58bdef2bSMichael Buch int main(int argc, char **argv) {
12*58bdef2bSMichael Buch   Foo f{.x = 5};
13*58bdef2bSMichael Buch   std::printf("%p\n", &f.x);
14*58bdef2bSMichael Buch   f.bar(argv);
15*58bdef2bSMichael Buch   return f.x;
16*58bdef2bSMichael Buch }
17*58bdef2bSMichael Buch 
bar(char ** argv)18*58bdef2bSMichael Buch void Foo::bar(char **argv) {
19*58bdef2bSMichael Buch   std::printf("%p %p\n", argv, this);
20*58bdef2bSMichael Buch   std::abort(); /// 'this' should be still accessible
21*58bdef2bSMichael Buch }
22*58bdef2bSMichael Buch 
func(int in)23*58bdef2bSMichael Buch void func(int in) { printf("%d\n", in); }
24