When targeting SPARC V8+ on Linux and the BSDs, GCC defines the macro
sparc_v9 only while clang also defines additional macros such as
sparcv9. When targeting SPARC V9, GCC defines sparc_v9__ on Linux
and the BSDs while other macros such as sparcv9 are defined on FreeBSD,
NetBSD and Solaris. On OpenBSD, GCC defines sparcv9__ and not __sparcv9.
In order to avoid compatibility problems, make sure clang behaves as
GCC and defines the same macros depending on the target platform and
SPARC CPU baseline. Update the tests accordingly.