1 /* { dg-do compile } */
2 
3 typedef unsigned int size_t;
4 struct fde_vector
5 {
6   size_t count;
7   const struct dwarf_fde *array[];
8 };
9 struct object;
10 typedef struct dwarf_fde fde;
11 typedef int (*fde_compare_t) (struct object *, const fde *, const fde *);
12 void
fde_merge(struct object * ob,fde_compare_t fde_compare,struct fde_vector * v1,struct fde_vector * v2)13 fde_merge (struct object *ob, fde_compare_t fde_compare,
14 	   struct fde_vector *v1, struct fde_vector *v2)
15 {
16   size_t i1, i2;
17   const fde *fde2;
18   do
19     {
20       i2--;
21       while (i1 > 0 && fde_compare (ob, v1->array[i1 - 1], fde2) > 0)
22 	{
23 	  i1--;
24 	}
25     }
26   while (i2 > 0);
27 }
28