
On 2013-10-10 14:38, Jason White wrote:
rdbrown@pacific.net.au <rdbrown@pacific.net.au> wrote:
Compilers have manifest defines that may intrude into the default namespace. It's sometimes useful in portable code
Is it legitimate for them not to begin with __ however?
Has *anybody* read the Stackoverflow post? It points at the GNU GCC documentation regarding this:
$ cpp --std=c89 -dM < /dev/null | grep linux #define __linux 1 #define __linux__ 1 #define __gnu_linux__ 1
$ cpp --std=gnu89 -dM < /dev/null | grep linux #define __linux 1 #define __linux__ 1 #define __gnu_linux__ 1 #define linux 1
$ cpp --std=c99 -dM < /dev/null | grep linux #define __linux 1 #define __linux__ 1 #define __gnu_linux__ 1
$ cpp --std=gnu99 -dM < /dev/null | grep linux #define __linux 1 #define __linux__ 1 #define __gnu_linux__ 1 #define linux 1
The comment links to the last paragraph here: http://gcc.gnu.org/onlinedocs/cpp/System_002dspecific-Predefined-Macros.html... -- Regards, Matthew Cengia