Hi, On Tue, Aug 30, 2016 at 10:11:33AM +0100, Robert Shearman wrote: > On Fri, 26 Aug 2016 21:52:11 +0200 Frank Heckenbach > <f.heckenb...@fh-soft.de> wrote: > > Package: flex > > Version: 2.5.39-8+deb8u1 > > Severity: normal > > > > After this update, I get the following warning when compiling the > > flex generated code with gcc, which I didn't get before: > > > > scan.cpp: In function ??????int yy_get_next_buffer(yyscan_t)??????: > > scan.cpp:758:18: error: comparison between signed and unsigned integer > > expressions [-Werror=sign-compare] > > scan.cpp:1384:3: note: in expansion of macro ??????YY_INPUT?????? > > > > Looking at the code: > > > > #define YY_INPUT(buf,result,max_size) \ > > if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ > > { \ > > int c = '*'; \ > > size_t n; \ > > for ( n = 0; n < max_size && \ > > > > Invoked as: > > > > int num_to_read = ... > > YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), > > yyg->yy_n_chars, num_to_read ); > > > > So indeed an unsigned value (n) is compared with a signed one > > (num_to_read). If this is correct, the warning can be silenced with > > a cast of the appropriate one of them. > > I've run into the same bug and agree with Frank's analysis. I've confirmed > that the following upstream commit fixes it: > > https://github.com/westes/flex/commit/3946924ed5e77420c453bf841603c7278766093a
Could you test the following packages: https://people.debian.org/~carnil/tmp/flex/ Regards, Salvatore