* [PATCH] util: mkimage, fix gcc5 build failure
@ 2015-02-12 10:02 Jiri Slaby
2015-02-12 19:22 ` Andrei Borzenkov
0 siblings, 1 reply; 2+ messages in thread
From: Jiri Slaby @ 2015-02-12 10:02 UTC (permalink / raw)
To: grub-devel; +Cc: arvidjaar, phcoder, Jiri Slaby
gcc5 reports:
../util/mkimage.c: In function 'grub_install_get_image_target':
../util/mkimage.c:954:5: error: loop exit may only be reached after undefined behavior [-Werror=aggressive-loop-optimizations]
&& j < ARRAY_SIZE (image_targets[i].names); j++)
^
../util/mkimage.c:953:39: note: possible undefined statement is here
for (j = 0; image_targets[i].names[j]
^
Well, let's move the index 'j' test before accesing the array to:
1) make the loop obvious
2) make gcc happy
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
util/mkimage.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/util/mkimage.c b/util/mkimage.c
index bccd70388afa..7821dc5eaf11 100644
--- a/util/mkimage.c
+++ b/util/mkimage.c
@@ -937,8 +937,8 @@ grub_install_get_image_target (const char *arg)
{
unsigned i, j;
for (i = 0; i < ARRAY_SIZE (image_targets); i++)
- for (j = 0; image_targets[i].names[j]
- && j < ARRAY_SIZE (image_targets[i].names); j++)
+ for (j = 0; j < ARRAY_SIZE (image_targets[i].names) &&
+ image_targets[i].names[j]; j++)
if (strcmp (arg, image_targets[i].names[j]) == 0)
return &image_targets[i];
return NULL;
--
2.2.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] util: mkimage, fix gcc5 build failure
2015-02-12 10:02 [PATCH] util: mkimage, fix gcc5 build failure Jiri Slaby
@ 2015-02-12 19:22 ` Andrei Borzenkov
0 siblings, 0 replies; 2+ messages in thread
From: Andrei Borzenkov @ 2015-02-12 19:22 UTC (permalink / raw)
To: Jiri Slaby; +Cc: grub-devel, phcoder
pushed
В Thu, 12 Feb 2015 11:02:09 +0100
Jiri Slaby <jslaby@suse.cz> пишет:
> gcc5 reports:
> ../util/mkimage.c: In function 'grub_install_get_image_target':
> ../util/mkimage.c:954:5: error: loop exit may only be reached after undefined behavior [-Werror=aggressive-loop-optimizations]
> && j < ARRAY_SIZE (image_targets[i].names); j++)
> ^
> ../util/mkimage.c:953:39: note: possible undefined statement is here
> for (j = 0; image_targets[i].names[j]
> ^
>
> Well, let's move the index 'j' test before accesing the array to:
> 1) make the loop obvious
> 2) make gcc happy
>
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> ---
> util/mkimage.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/util/mkimage.c b/util/mkimage.c
> index bccd70388afa..7821dc5eaf11 100644
> --- a/util/mkimage.c
> +++ b/util/mkimage.c
> @@ -937,8 +937,8 @@ grub_install_get_image_target (const char *arg)
> {
> unsigned i, j;
> for (i = 0; i < ARRAY_SIZE (image_targets); i++)
> - for (j = 0; image_targets[i].names[j]
> - && j < ARRAY_SIZE (image_targets[i].names); j++)
> + for (j = 0; j < ARRAY_SIZE (image_targets[i].names) &&
> + image_targets[i].names[j]; j++)
> if (strcmp (arg, image_targets[i].names[j]) == 0)
> return &image_targets[i];
> return NULL;
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-02-12 19:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-12 10:02 [PATCH] util: mkimage, fix gcc5 build failure Jiri Slaby
2015-02-12 19:22 ` Andrei Borzenkov
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.