Package: flex
Version: 2.5.35

When using with cygwin 1.7.9-1 and MSVC2008 there is a minor bug in building 
YY_INPUT macro. MSVC2008 defines size_t as unsigned integer, while YY_INPUT 
code has a comparison with signed type (scan.c:2108, in red): 

#ifndef YY_INPUT

#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 ) \

                  buf[n] = (char) c; \

            if ( c == '\n' ) \

                  buf[n++] = (char)
c; \

            if ( c == EOF &&
ferror( yyin ) ) \

                  YY_FATAL_ERROR( "input
in flex scanner failed" ); \

            result = n; \

            } \

      else \

            { \

            errno=0; \

            while ( (result =
fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \

                  { \

                  if( errno != EINTR)
\

                        { \

                        YY_FATAL_ERROR( "input
in flex scanner failed" ); \

                        break; \

                        } \

                  errno=0; \

                  clearerr(yyin); \

                  } \

            }\

\

 

#endif

There is a warning "C4018: '<' : signed/unsigned mismatch" generated at line 
4325:              /* Read in more data. */

            YY_INPUT(
(&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),

                  (yy_n_chars), (size_t) num_to_read );
Thanks,Yuriy.                                     

Reply via email to