1/* Distilled from optimization/863. */ 2 3extern void abort (void); 4extern void exit (int); 5extern void ok (int); 6 7typedef struct 8{ 9 int x, y, z; 10} Data; 11 12void find (Data *first, Data *last) 13{ 14 int i; 15 for (i = (last - first) >> 2; i > 0; --i) 16 ok(i); 17 abort (); 18} 19 20void ok(int i) 21{ 22 if (i != 1) 23 abort (); 24 exit (0); 25} 26 27int 28main () 29{ 30 Data DataList[4]; 31 find (DataList + 0, DataList + 4); 32} 33