Anonymous unions is a gcc extension