xref: /llvm-project/lldb/test/API/functionalities/data-formatter/refpointer-recursion/main.cpp (revision 99451b4453688a94c6014cac233d371ab4cc342d)
1*99451b44SJordan Rupprecht int _ID = 0;
2*99451b44SJordan Rupprecht 
3*99451b44SJordan Rupprecht class Foo {
4*99451b44SJordan Rupprecht 	public:
5*99451b44SJordan Rupprecht 		Foo *next;
6*99451b44SJordan Rupprecht 		int ID;
7*99451b44SJordan Rupprecht 
Foo()8*99451b44SJordan Rupprecht 	Foo () : next(0), ID(++_ID) {}
9*99451b44SJordan Rupprecht };
10*99451b44SJordan Rupprecht 
evalFoo(Foo & foo)11*99451b44SJordan Rupprecht int evalFoo(Foo& foo)
12*99451b44SJordan Rupprecht {
13*99451b44SJordan Rupprecht 	return foo.ID; // Set break point at this line.
14*99451b44SJordan Rupprecht }
15*99451b44SJordan Rupprecht 
main()16*99451b44SJordan Rupprecht int main() {
17*99451b44SJordan Rupprecht 	Foo f;
18*99451b44SJordan Rupprecht 	f.next = &f;
19*99451b44SJordan Rupprecht 	return evalFoo(f);
20*99451b44SJordan Rupprecht }
21*99451b44SJordan Rupprecht 
22