From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Gerd Hoffmann" <kraxel@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [v3] Help wanted for enabling -Wshadow=local
Date: Fri, 06 Oct 2023 16:45:16 +0200 [thread overview]
Message-ID: <87mswvg683.fsf@pond.sub.org> (raw)
Local variables shadowing other local variables or parameters make the
code needlessly hard to understand. Bugs love to hide in such code.
Evidence: "[PATCH v3 1/7] migration/rdma: Fix save_page method to fail
on polling error".
Enabling -Wshadow would prevent bugs like this one. But we have to
clean up all the offenders first.
Quite a few people responded to my calls for help. Thank you so much!
I'm collecting patches in my git repo at
https://repo.or.cz/qemu/armbru.git in branch shadow-next. All but the
last two are in a pending pull request.
My test build is down to seven files with warnings. "[PATCH v2 0/3]
hexagon: GETPC() and shadowing fixes" takes care of four, but it needs a
rebase.
Remaining three:
In file included from ../hw/display/virtio-gpu-virgl.c:19:
../hw/display/virtio-gpu-virgl.c: In function ‘virgl_cmd_submit_3d’:
/work/armbru/qemu/include/hw/virtio/virtio-gpu.h:228:16: warning: declaration of ‘s’ shadows a previous local [-Wshadow=compatible-local]
228 | size_t s; \
| ^
../hw/display/virtio-gpu-virgl.c:215:5: note: in expansion of macro ‘VIRTIO_GPU_FILL_CMD’
215 | VIRTIO_GPU_FILL_CMD(cs);
| ^~~~~~~~~~~~~~~~~~~
../hw/display/virtio-gpu-virgl.c:213:12: note: shadowed declaration is here
213 | size_t s;
| ^
In file included from ../contrib/vhost-user-gpu/virgl.h:18,
from ../contrib/vhost-user-gpu/virgl.c:17:
../contrib/vhost-user-gpu/virgl.c: In function ‘virgl_cmd_submit_3d’:
../contrib/vhost-user-gpu/vugpu.h:167:16: warning: declaration of ‘s’ shadows a previous local [-Wshadow=compatible-local]
167 | size_t s; \
| ^
../contrib/vhost-user-gpu/virgl.c:203:5: note: in expansion of macro ‘VUGPU_FILL_CMD’
203 | VUGPU_FILL_CMD(cs);
| ^~~~~~~~~~~~~~
../contrib/vhost-user-gpu/virgl.c:201:12: note: shadowed declaration is here
201 | size_t s;
| ^
../contrib/vhost-user-gpu/vhost-user-gpu.c: In function ‘vg_resource_flush’:
../contrib/vhost-user-gpu/vhost-user-gpu.c:837:29: warning: declaration of ‘i’ shadows a previous local [-Wshadow=local]
837 | pixman_image_t *i =
| ^
../contrib/vhost-user-gpu/vhost-user-gpu.c:757:9: note: shadowed declaration is here
757 | int i;
| ^
Gerd, Marc-André, or anybody else?
More warnings may lurk in code my test build doesn't compile. Need a
full CI build with -Wshadow=local to find them. Anybody care to kick
one off?
next reply other threads:[~2023-10-06 14:46 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-06 14:45 Markus Armbruster [this message]
2023-10-06 16:18 ` [v3] Help wanted for enabling -Wshadow=local Thomas Huth
2023-10-06 17:55 ` Thomas Huth
2023-10-06 19:08 ` Warner Losh
2023-10-09 6:24 ` Markus Armbruster
2023-10-09 7:50 ` Thomas Huth
2023-10-06 18:41 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mswvg683.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.