fix of the strange compiler bug on gcc x86