struct a { | |
int field; | |
}; | |
struct b { | |
int field; | |
}; | |
typedef union { | |
struct a *a; | |
struct b *b; | |
} transparent_arg __attribute__((__transparent_union__)); | |
static void foo(transparent_arg arg) | |
{ | |
} | |
static void bar(void) | |
{ | |
struct b arg = { 0 }; | |
foo((struct a *) &arg); | |
} | |
/* | |
* check-name: Transparent union attribute. | |
*/ |