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

     1  typedef struct {
     2    int a, b, c, d, e, f;
     3  } A;
     4  
     5  void foo (A *v, int w, int x, int *y, int *z)
     6  {
     7  }
     8  
     9  void
    10  bar (A *v, int x, int y, int w, int h)
    11  {
    12    if (v->a != x || v->b != y) {
    13      int oldw = w;
    14      int oldh = h;
    15      int e = v->e;
    16      int f = v->f;
    17      int dx, dy;
    18      foo(v, 0, 0, &w, &h);
    19      dx = (oldw - w) * (double) e/2.0;
    20      dy = (oldh - h) * (double) f/2.0;
    21      x += dx;
    22      y += dy;
    23      v->a = x;
    24      v->b = y;
    25      v->c = w;
    26      v->d = h;
    27    }
    28  }
    29  
    30  int main ()
    31  {
    32    A w = { 100, 110, 20, 30, -1, -1 };
    33    bar (&w,400,420,50,70);
    34    if (w.d != 70)
    35      abort();
    36    exit(0);
    37  }