1 struct s { volatile struct s *next; }; 2 3 void __attribute__((noinline)) bar(int ignored,int n)4bar (int ignored, int n) 5 { 6 asm volatile (""); 7 } 8 9 int __attribute__((noinline)) foo(volatile struct s * ptr,int n)10foo (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)19int main (void) 20 { 21 volatile struct s rec = { &rec }; 22 foo (&rec, 10); 23 return 0; 24 } 25