Actually, you have to add that to the list, I guess, for the Sun compiler. Latest
gcc(=gcc3.2.1) on sparc/linux defines __sparc__ but not __sparc:
For the file c.c
#ifndef __sparc
#error no '__sparc'
#endif
you get:
ferris@lacewing:~/DOCS/LAW [247]% gcc -c -v c.c
Reading specs from /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.1/specs
Configured with: /var/tmp/portage/gcc-3.2.1-r6/work/gcc-3.2.1/configure --prefix=/usr --bindir=/usr/sparc-unknown-linux-gnu/gcc-bin/3.2 --includedir=/usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.1/include --datadir=/usr/share/gcc-data/sparc-unknown-linux-gnu/3.2 --mandir=/usr/share/gcc-data/sparc-unknown-linux-gnu/3.2/man --infodir=/usr/share/gcc-data/sparc-unknown-linux-gnu/3.2/info --enable-shared --host=sparc-unknown-linux-gnu --target=sparc-unknown-linux-gnu --with-system-zlib --enable-languages=c,c++,ada,f77,objc,java --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.1/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --disable-nls
Thread model: posix
gcc version 3.2.1 20021207 (Gentoo Linux 3.2.1-20021207)
/usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.1/cc1 -lang-c -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__sparc__ -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__sparc__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=unix -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc c.c -quiet -dumpbase c.c -version -o /tmp/cc6XYmZX.s
GNU CPP version 3.2.1 20021207 (Gentoo Linux 3.2.1-20021207) (cpplib) (sparc GNU/Linux with ELF)
GNU C version 3.2.1 20021207 (Gentoo Linux 3.2.1-20021207) (sparc-unknown-linux-gnu)
compiled by GNU C version 3.2.1 20021207 (Gentoo Linux 3.2.1-20021207).
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.1/include
/usr/sparc-unknown-linux-gnu/include
/usr/include
End of search list.
c.c:2:2: #error no '__sparc'
So, no '__sparc'
Of course, for consistency, with gcc2.95.2 on Solaris, gcc gives you -D__sparc
I suppose
#if defined(sparc) || defined(__sparc) || defined(__sparc__)
would get everything...
