* GRUB 2.00 build and flex-2.5.37
@ 2012-08-05 22:20 Bruce Dubbs
2013-01-02 10:22 ` Colin Watson
0 siblings, 1 reply; 3+ messages in thread
From: Bruce Dubbs @ 2012-08-05 22:20 UTC (permalink / raw)
To: The development of GNU GRUB
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.
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.
The gcc version -s 4.7.1.
-- Bruce
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: GRUB 2.00 build and flex-2.5.37
2012-08-05 22:20 GRUB 2.00 build and flex-2.5.37 Bruce Dubbs
@ 2013-01-02 10:22 ` Colin Watson
2013-01-03 17:18 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 1 reply; 3+ messages in thread
From: Colin Watson @ 2013-01-02 10:22 UTC (permalink / raw)
To: The development of GNU GRUB
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 [cjwatson@ubuntu.com]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: GRUB 2.00 build and flex-2.5.37
2013-01-02 10:22 ` Colin Watson
@ 2013-01-03 17:18 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 0 replies; 3+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2013-01-03 17:18 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 1688 bytes --]
On 02.01.2013 11:22, Colin Watson wrote:
> 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.
>
It's ok to make such warnings non-breaking by corresponding #pragma. In
fact we already have:
#pragma GCC diagnostic ignored "-Wunused-function"
So the report is obviously for some older version.
>> 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?
>
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-01-03 17:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-05 22:20 GRUB 2.00 build and flex-2.5.37 Bruce Dubbs
2013-01-02 10:22 ` Colin Watson
2013-01-03 17:18 ` Vladimir 'φ-coder/phcoder' Serbinenko
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.