INN snapshot failures

Russ Allbery eagle at eyrie.org
Mon Oct 16 04:12:54 UTC 2017


Julien ÉLIE <julien at trigofacile.com> writes:
> Hi Russ,

>> lex.yy.c: In function 'yy_get_next_buffer':
>> lex.yy.c:667:18: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
>> lex.yy.c:1316:3: note: in expansion of macro 'YY_INPUT'
>> cc1: all warnings being treated as errors

> New flex version shipped with Stretch defines n as size_t whereas it was
> defined as int in previous version:

> #define YY_INPUT(buf,result,max_size) \
>     if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
>         { \
>         int c = '*'; \
>         int n; \
>         for ( n = 0; n < max_size && \
>                  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \

> Yet, max_size is an int in both versions...

Oh, right, I remember this now.  And it's fixed in current flex, which now
declares n as size_t.

> Yet, it may break with another versions of flex...
> Maybe the best way would be to disable the sign-compare check for that
> file?  (with a sed command adding the relevant gcc pragma at the beginning
> of the file?)

Yeah, that seems like the right fix.  Shouldn't be a need for a sed
command, since flex adds the C preamble.  I've just now committed a fix
for both branches.

Apologies for the delay  -- life has been pretty busy lately.

-- 
Russ Allbery (eagle at eyrie.org)              <http://www.eyrie.org/~eagle/>


More information about the inn-workers mailing list