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