This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: bootstrap/7143: real.c: In function `make_nan': `TFbignan' undeclared
- From: Neil Booth <neil at daikokuya dot co dot uk>
- To: John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: gcc-gnats at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org
- Date: Fri, 28 Jun 2002 07:11:40 +0100
- Subject: Re: bootstrap/7143: real.c: In function `make_nan': `TFbignan' undeclared
- References: <20020627220047.GA677@daikokuya.co.uk> <200206272344.g5RNidmS006034@hiauly1.hia.nrc.ca>
John David Anglin wrote:-
> The code below reproduces the problem. The problem has something
> to do with the processing of '!' and defined. If I remove '!', then
> defining/undefing DEC yields the correct result.
OK, thanks. I can't reproduce it, though, with the compiler that
contains my most recent changes (2 days ago now). See below. The
file bug.c is exactly as contained in your mail.
> It's likely that something has been miscompiled in stage1 but the same
> compiler bootstrapped 3.1. It's amazing that the build of the C compiler
> nearly completed in stage2 before a problem showed up.
[..]
> #define DEC 1
>
> #if !defined(DEC)
> static void enan (void);
> #endif
neil@cat:~/src/gcc/build/gcc$ ./cc1 -E /tmp/bug.c -quiet
# 1 "/tmp/bug.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "/tmp/bug.c"
neil@cat:~/src/gcc/build/gcc$ ./cc1 -E -traditional-cpp /tmp/bug.c
-quiet
# 1 "/tmp/bug.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "/tmp/bug.c"
neil@cat:~/src/gcc/build/gcc$ ./cc1 --version
GNU C version 3.2 20020626 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 3.2 20020626 (experimental).
neil@cat:~/src/gcc/build/gcc$
So I'm not really sure what to do. Actually, this compiler contains
a local change that I'm about to commit, but it only affects the
handling of #include by the traditional preprocessor.
Neil.