| 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. | |
| */ |