1  struct F { int i; };
       2  
       3  void f1(struct F *x, struct F *y)
       4  {
       5    int timeout = 0;
       6    for (; ((const struct F*)x)->i < y->i ; x->i++)
       7      if (++timeout > 5)
       8        abort ();
       9  }
      10  
      11  main()
      12  {
      13    struct F x, y;
      14    x.i = 0;
      15    y.i = 1;
      16    f1 (&x, &y);
      17    exit (0);
      18  }