1 struct s { volatile struct s *next; };
2 
3 void __attribute__((noinline))
bar(int ignored,int n)4 bar (int ignored, int n)
5 {
6   asm volatile ("");
7 }
8 
9 int __attribute__((noinline))
foo(volatile struct s * ptr,int n)10 foo (volatile struct s *ptr, int n)
11 {
12   int i;
13 
14   bar (0, n);
15   for (i = 0; i < n; i++)
16     ptr = ptr->next;
17 }
18 
main(void)19 int main (void)
20 {
21   volatile struct s rec = { &rec };
22   foo (&rec, 10);
23   return 0;
24 }
25