In GCC <= 14, flexible arrays are not supported in unions because of a parserlimitation.
This is a hack that declares an anonymous struct, which itself can contain a flexible array but still be a member of a union. Another empty element is included because structs that only contain a flexible array are also invalid.