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