Given:
struct S {
union {
int i;
float f;
}
}
is there any way to detect the fact that fields i and f will have
the same offset from S? (Creating an instance of S and getting
the relative addresses only works if the union is public).