typedef union { int* f; int y; } __attribute__(( __transparent_union__ )) example_t;
and reject: typedef union { int f; int* y; } __attribute__(( __transparent_union__ )) example_t;thus we can't even talk about integer and pointer types generically... Essentially, what really matters is that the first field must be a pointer.
Paolo.