typedef struct { double d; } Struct;
Struct f1 () { Struct res = {3.0}; return res; } typedef union { double d; } Union; Union f2 () { Union res = {3.0}; return res; } x86 mingw 7.3.0 The first returns in ST0, the second in edx:eax. Msvc returns first in edx:eax. Seems like a bug? Thank you, - Jay