fix anonymous union problem