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

     1  /* It is not clear whether this test is conforming.  See DR#236
     2     http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_236.htm.  However,
     3     there seems to be consensus that the presence of a union to aggregate
     4     struct s1 and struct s2 should make it conforming.  */
     5  struct s1 { double d; };
     6  struct s2 { double d; };
     7  union u { struct s1 x; struct s2 y; };
     8  
     9  double f(struct s1 *a, struct s2 *b)
    10  {
    11    a->d = 1.0;
    12    return b->d + 1.0;
    13  }
    14  
    15  int main()
    16  {
    17    union u a;
    18    a.x.d = 0.0;
    19    if (f (&a.x, &a.y) != 2.0)
    20      abort ();
    21    return 0;
    22  }