> Lev Lafayette <[email protected]> wrote:
>> test.c:
>>
>> #include <stdio.h>
>> int main(void)
>> {
>>     int linux = 5;
>>     return 0;
>> }
>>

...

> It still occurs if I omit the inclusion of stdio.h, so I'd describe it as
> a
> compiler bug.

Compilers have manifest defines that may intrude into the default namespace.
It's sometimes useful in portable code
Not seeing linux defines directly in the gcc -dumpspecs output though

#linux

$ gcc -E tmp.c
# 1 "tmp.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "tmp.c"
int 1 = 5;
$ gcc -Ulinux -E tmp.c
# 1 "tmp.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "tmp.c"
int linux = 5;
$ gcc -undef -E tmp.c
# 1 "tmp.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "tmp.c"
int linux = 5;

$ gcc -v
Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
....
$ gcc -E tmp.c
# 1 "tmp.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "tmp.c"
int linux = 5;


_______________________________________________
luv-main mailing list
[email protected]
http://lists.luv.asn.au/listinfo/luv-main

Reply via email to