Apple clang fixes

With these assembly tweaks "unix" builds with Apple's gcc-alike-clang.

Makes the function headers a bit uglier, but IMHO it's not too bad.

Using an Apple-specific define; could use __llvm__ instead if needed for other clang variants.