This only works with recent Clang and GCC 5.0.
Currently it doesn't work because __has_builtin can't be defined.
This is totally ugly. But we can't reliably detect whether we can use
the builtins from Nim, especially with cross-compiling where the user
may be using an older compiler version. Switching this on/off manually
with a define seems weird as well, this should work automatically.