It's often assumed that offsetof() can be applied to unions (you can even find such use in several questions here at SO), but, however, it seems like all the C specifications from C90 to nowadays only say the offsetof() macro supports structs. I was now taking a look at the "Modern C" book by Jens Gustedt, and table 4.3 specifies "struct" as the type of the first argument to offsetof().
So,... are unions officially supported by offsetof(), or not?