xref: /llvm-project/lldb/test/API/commands/frame/diagnose/bad-reference/main.cpp (revision 99451b4453688a94c6014cac233d371ab4cc342d)
1*99451b44SJordan Rupprecht struct Bar {
2*99451b44SJordan Rupprecht   int c;
3*99451b44SJordan Rupprecht   int d;
4*99451b44SJordan Rupprecht };
5*99451b44SJordan Rupprecht 
6*99451b44SJordan Rupprecht struct Foo {
7*99451b44SJordan Rupprecht   int a;
8*99451b44SJordan Rupprecht   struct Bar &b;
9*99451b44SJordan Rupprecht };
10*99451b44SJordan Rupprecht 
GetAFoo()11*99451b44SJordan Rupprecht struct Foo *GetAFoo() {
12*99451b44SJordan Rupprecht   static struct Foo f = { 0, *((Bar*)0) };
13*99451b44SJordan Rupprecht   return &f;
14*99451b44SJordan Rupprecht }
15*99451b44SJordan Rupprecht 
GetSum(struct Foo * f)16*99451b44SJordan Rupprecht int GetSum(struct Foo *f) {
17*99451b44SJordan Rupprecht   return f->a + f->b.d;
18*99451b44SJordan Rupprecht }
19*99451b44SJordan Rupprecht 
main()20*99451b44SJordan Rupprecht int main() {
21*99451b44SJordan Rupprecht   return GetSum(GetAFoo());
22*99451b44SJordan Rupprecht }
23