1 /* { dg-require-stack-size "128 * 128 * 4 + 1024" } */
2 
3 typedef struct {
4   float wsx;
5 } struct_list;
6 
7 typedef struct_list *list_t;
8 
9 typedef struct {
10   float x, y;
11 } vector_t;
12 
w(float x,float y)13 w(float x, float y) {}
14 
f1(float x,float y)15 f1(float x, float y)
16 {
17   if (x != 0 || y != 0)
18     abort();
19 }
f2(float x,float y)20 f2(float x, float y)
21 {
22   if (x != 1 || y != 1)
23     abort();
24 }
25 
gitter(int count,vector_t pos[],list_t list,int * nww,vector_t limit[2],float r)26 gitter(int count, vector_t pos[], list_t list, int *nww, vector_t limit[2], float r)
27 {
28   float d;
29   int gitt[128][128];
30 
31   f1(limit[0].x, limit[0].y);
32   f2(limit[1].x, limit[1].y);
33 
34   *nww = 0;
35 
36   d = pos[0].x;
37   if (d <= 0.)
38     {
39       w(d, r);
40       if (d <= r * 0.5)
41 	{
42 	  w(d, r);
43 	  list[0].wsx = 1;
44 	}
45     }
46 }
47 
48 vector_t pos[1] = {{0., 0.}};
49 vector_t limit[2] = {{0.,0.},{1.,1.}};
50 
main()51 main()
52 {
53   int nww;
54   struct_list list;
55 
56   gitter(1, pos, &list, &nww, limit, 1.);
57   exit(0);
58 }
59 
60