1 struct a {
   2         int field;
   3 };
   4 struct b {
   5         int field;
   6 };
   7 
   8 typedef union {
   9         struct a *a;
  10         struct b *b;
  11 } transparent_arg __attribute__((__transparent_union__));
  12 
  13 static void foo(transparent_arg arg)
  14 {
  15 }
  16 
  17 static void bar(void)
  18 {
  19         struct b arg = { 0 };
  20         foo((struct a *) &arg);
  21 }
  22 
  23 /*
  24  * check-name: Transparent union attribute.
  25  */