clone 525716 -1 reassign -1 flex retitle -1 flex: produces c++ code with missing include cstdio thanks
Hi, Am Sunday 26 April 2009 20:27:35 schrieb Martin Michlmayr: > Package: fauhdlc > Version: 20090309-1 > User: [email protected] > Usertags: ftbfs-gcc-4.4 > Tags: patch > > Your package fails to build with GCC 4.4, which has cleaned up some more > C++ headers. You always have to #include headers directly and cannot > rely for things to be included indirectly. > > You can reproduce this problem with gcc-snapshot from unstable or > gcc-4.4 from experimental. > > > Automatic build of fauhdlc_20090309-1 on em64t by sbuild/amd64 0.53 > > ... > > > make[3]: Entering directory > > `/build/tbm/fauhdlc-20090309/frontend/newparser' g++ -Wall -Wextra > > -Wendif-labels -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align > > -Wwrite-strings -Wstrict-aliasing -Wsign-compare -Wconversion > > -Wwrite-strings -Wno-unused-parameter -Wold-style-cast -Werror > > -DPACKAGE_NAME=\"fauhdlc\" -DPACKAGE_TARNAME=\"fauhdlc\" > > -DPACKAGE_VERSION=\"20090309\" -DPACKAGE_STRING=\"fauhdlc\ 20090309\" > > -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"fauhdlc\" -DVERSION=\"20090309\" > > -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 > > -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 > > -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 > > -DHAVE_GC_GC_CPP_H=1 -I. -I ../.. -I. -Wno-conversion > > -Wno-old-style-cast -Wno-parentheses -g -O2 -MT > > libnewparser_a-FAUhdlScanner.o -MD -MP -MF > > .deps/libnewparser_a-FAUhdlScanner.Tpo -c -o > > libnewparser_a-FAUhdlScanner.o `test -f 'FAUhdlScanner.cpp' || echo > > './'`FAUhdlScanner.cpp FAUhdlScanner.cpp: In member function 'int > > yyFlexLexer::yyinput()': FAUhdlScanner.cpp:3907: error: 'EOF' was not > > declared in this scope make[3]: *** [libnewparser_a-FAUhdlScanner.o] > > Error 1 > > make[3]: Leaving directory > > `/build/tbm/fauhdlc-20090309/frontend/newparser' make[2]: *** [all] Error > > 2 > > /* ParserDriver.hpp needs to be included before the scanner header */ > --- frontend/newparser/FAUhdlScanner.l~ 2009-04-26 17:59:54.000000000 > +0000 > +++ frontend/newparser/FAUhdlScanner.l 2009-04-26 17:59:55.000000000 > +0000 > @@ -44,6 +44,7 @@ > %x FORMAL_SCANNER > > %top{ > +#include <stdio.h> > #include <string> > #include <stdexcept> > /* ParserDriver.hpp needs to be included before the scanner header */ thanks for the patch, just applied this as a workaround to upstream svn. Imo the real bug seems to originate in the c++ code generated from flex, which uses EOF (the .l file doesn't) but doesn't issue the necessaring include, hence cloning the bug to flex. Cheers, Stefan.
signature.asc
Description: This is a digitally signed message part.

