runtime: fix misc gcc-isms and undefined behavior

This includes the use of __complex and __builtin_ functions where
unprefixed entities would suffice, and the use of a union for
bit-casting between types.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211036 138bc75d-0d04-0410-961f-82ee72b054a4