On Sun, Aug 05, 2012 at 05:20:46PM -0500, Bruce Dubbs wrote: > The latest flex makes the GRUB-2.00 build fail. I can work around > the issues with --disable-werror, but grub-core/script/yylex.l > causes two warnings that do not work with -Werror. > > ./grub-core/script/yylex.l: At top level: > grub_script.yy.c:2351:13: error: 'yy_fatal_error' defined but not used > > This can be fixed by removing #define YY_FATAL_ERROR(msg) in yylex.l.
That would be incorrect; the default implementation of yy_fatal_error uses fprintf, which is not valid in parts of GRUB that need to run freestanding. More correct would probably be to insert an artificial reference to yy_fatal_error, since flex offers no way to suppress its definition. > grub_script.yy.c: In function 'yy_scan_bytes': > grub_script.yy.c:2296:17: error: comparison between signed and > unsigned integer expressions [-Werror=sign-compare] > > This one is a little more difficult because it is generated by flex. > I don't know how to fix this except with a sed after > grub_script.yy.c is generated by flex. I tried to reproduce this and the other warning with flex 2.5.37 and GCC 4.7.2 and couldn't, so I'm reluctant to make a change that I can't test. Can you still reproduce this? If so, could you attach your generated grub_script.yy.c? -- Colin Watson [[email protected]] _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
