modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/921113-1.c (about)

     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  
    13  w(float x, float y) {}
    14  
    15  f1(float x, float y)
    16  {
    17    if (x != 0 || y != 0)
    18      abort();
    19  }
    20  f2(float x, float y)
    21  {
    22    if (x != 1 || y != 1)
    23      abort();
    24  }
    25  
    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  
    51  main()
    52  {
    53    int nww;
    54    struct_list list;
    55  
    56    gitter(1, pos, &list, &nww, limit, 1.);
    57    exit(0);
    58  }
    59