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