[Bug bootstrap/55163] New: Ongoing problem with gengtype-lex.c under CygWin with CRLF text mode line endings since 4.8
nico at josuttis dot de
gcc-bugzilla@gcc.gnu.org
Thu Nov 1 11:03:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55163
Bug #: 55163
Summary: Ongoing problem with gengtype-lex.c under CygWin with
CRLF text mode line endings since 4.8
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: nico@josuttis.de
For all versions of 4.8.0 I tried to compile, I run into the same problem
when building a C++ compiler in my CygWin environment.
The error is as follows:
========================
flex -ogengtype-lex.c ../../src/gcc/gengtype-lex.l && { \
echo '#include "bconfig.h"' > gengtype-lex.c.tmp; \
cat gengtype-lex.c >> gengtype-lex.c.tmp; \
mv gengtype-lex.c.tmp gengtype-lex.c; \
}
g++ -c -g -O2 -DIN_GCC -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual
-Wmissing-format-attribute -fno-common -Wno-error -DHAVE_CONFIG_H
-DGENERATOR_FILE -I. -Ibuild -I../../src/gcc -I../../src/gcc/build
-I../../src/gcc/../include -I../../src/gcc/../libcpp/include
-I/cygdrive/p/gcc/gcc-trunk-install/build/./gmp
-I/cygdrive/p/gcc/gcc-trunk-install/src/gmp
-I/cygdrive/p/gcc/gcc-trunk-install/build/./mpfr
-I/cygdrive/p/gcc/gcc-trunk-install/src/mpfr
-I/cygdrive/p/gcc/gcc-trunk-install/src/mpc/src
-I../../src/gcc/../libdecnumber -I../../src/gcc/../libdecnumber/bid
-I../libdecnumber -I../../src/gcc/../libbacktrace \
-o build/gengtype-lex.o gengtype-lex.c
gengtype-lex.c:332: error: expected unqualified-id before "do"
gengtype-lex.c:332: error: expected `,' or `;' before "do"
gengtype-lex.c:352: error: expected unqualified-id before "while"
gengtype-lex.c:352: error: expected `,' or `;' before "while"
gengtype-lex.c:394: error: `yy_size_t' does not name a type
gengtype-lex.c:524: error: expected unqualified-id before '?' token
...
It seems that there is a CR/LF problem because I can fix it by
running
/usr/bin/sed -e 's/^M$//'
on the generated gengtype-lex.c and then continue with the build.
It looks like my CygWin settings let gengtype-lex.c get created with
some CR/LF combinations, which the compiler is then not able to handle.
This is probably caused by having DOS/text default file system type:
$ mount -m
none /cygdrive cygdrive text,posix=0,user 0 0
However, as I might not be the only one having text mode (with CRLF generated)
as default, we should better fix this problem.
Note that with gcc 4.7.x this problem does not exist, so this problem is new
with 4.8.
More information about the Gcc-bugs
mailing list