Message ID | alpine.DEB.2.22.394.2110041842230.3528554@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
Series | Fix stdlib/tst-setcontext.c for GCC 12 -Warray-compare | expand |
On 04/10/2021 15:42, Joseph Myers wrote: > Building stdlib/tst-setcontext.c fails with GCC mainline: > > tst-setcontext.c: In function 'f2': > tst-setcontext.c:61:16: error: comparison between two arrays [-Werror=array-compare] > 61 | if (on_stack < st2 || on_stack >= st2 + sizeof (st2)) > | ^ > tst-setcontext.c:61:16: note: use '&on_stack[0] < &st2[0]' to compare the addresses > > The comparison in this case is deliberate, so adjust it as suggested > in that note. > > Tested with build-many-glibcs.py (GCC mainline) for aarch64-linux-gnu. > LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > diff --git a/stdlib/tst-setcontext.c b/stdlib/tst-setcontext.c > index 1b511708c1..1c2925bb76 100644 > --- a/stdlib/tst-setcontext.c > +++ b/stdlib/tst-setcontext.c > @@ -58,7 +58,7 @@ f2 (void) > puts ("start f2"); > > printf ("&on_stack=%p\n", on_stack); > - if (on_stack < st2 || on_stack >= st2 + sizeof (st2)) > + if (&on_stack[0] < &st2[0] || &on_stack[0] >= st2 + sizeof (st2)) > { > printf ("%s: memory stack is not where it belongs!", __FUNCTION__); > exit (1); >
diff --git a/stdlib/tst-setcontext.c b/stdlib/tst-setcontext.c index 1b511708c1..1c2925bb76 100644 --- a/stdlib/tst-setcontext.c +++ b/stdlib/tst-setcontext.c @@ -58,7 +58,7 @@ f2 (void) puts ("start f2"); printf ("&on_stack=%p\n", on_stack); - if (on_stack < st2 || on_stack >= st2 + sizeof (st2)) + if (&on_stack[0] < &st2[0] || &on_stack[0] >= st2 + sizeof (st2)) { printf ("%s: memory stack is not where it belongs!", __FUNCTION__); exit (1);