[Bug preprocessor/14357] New: Line-terminating "\" eats following directive - sometimes.
igodard at pacbell dot net
gcc-bugzilla@gcc.gnu.org
Mon Mar 1 08:29:00 GMT 2004
The following code:
#ifndef guardTypeTraits
#define guardTypeTraits
#if 0
};\
#endif
#endif // guardTypeTraits
int main() {}
gets:
~/ootbc/common/include$ gcc foo.cc
foo.cc:1:1: unterminated #ifndef
However, this code:
#ifndef X
#if 0
\
#endif
#endif
int main() {}
does not. I'm not sure whether the compiler is supposed to look at line concats inside #if'd out source, but it either should or should not in all cases.
Here's the -v output:
~/ootbc/common/include$ gcc -v foo.cc
Reading specs from /mnt/export/local/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/specs
Configured with: ./configure
Thread model: posix
gcc version 3.4.0 20040115 (experimental)
/mnt/export/local/bin/../libexec/gcc/i686-pc-linux-gnu/3.4.0/cc1plus -quiet -v -iprefix /mnt/export/local/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/ -D_GNU_SOURCE foo.cc -quiet -dumpbase foo.cc -mtune=pentiumpro -auxbase foo -version -o /tmp/ccrW1tHN.s
ignoring nonexistent directory "/mnt/export/local/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../i686-pc-linux-gnu/include"
ignoring nonexistent directory "/usr/local/lib/../include/c++/3.4.0"
ignoring nonexistent directory "/usr/local/lib/../include/c++/3.4.0/i686-pc-linux-gnu"
ignoring nonexistent directory "/usr/local/lib/../include/c++/3.4.0/backward"
ignoring nonexistent directory "NONE/include"
ignoring nonexistent directory "/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.0/include"
ignoring nonexistent directory "/usr/local/lib/../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/mnt/export/local/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0
/mnt/export/local/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0/i686-pc-linux-gnu
/mnt/export/local/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0/backward
/mnt/export/local/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/include
/usr/local/include
/usr/include
End of search list.
GNU C++ version 3.4.0 20040115 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 3.3.1 20030626 (Debian prerelease).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
foo.cc:1:1: unterminated #ifndef
~/ootbc/common/include$
--
Summary: Line-terminating "\" eats following directive -
sometimes.
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: igodard at pacbell dot net
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14357
More information about the Gcc-bugs
mailing list