Message ID | 20231009093152.51270-1-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | system/vl: Use global &bdo_queue in configure_blockdev() | expand |
Philippe Mathieu-Daudé <philmd@linaro.org> writes: > Commit d11bf9bf0f ("vl: Factor configure_blockdev() out of main()") > passed &bdo_queue as argument, but this isn't really necessary since > there is only one call, so we still use the global variable. > > Dropping the &bdo_queue argument allows to silence this global shadow > warning: > > softmmu/vl.c:678:54: error: declaration shadows a variable in the global scope [-Werror,-Wshadow] > static void configure_blockdev(BlockdevOptionsQueue *bdo_queue, > ^ > softmmu/vl.c:172:29: note: previous declaration is here > static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue); Not sure this is an improvement. Up to Paolo, I guess. > Remove a spurious empty line. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
On 9/10/23 12:26, Markus Armbruster wrote: > Philippe Mathieu-Daudé <philmd@linaro.org> writes: > >> Commit d11bf9bf0f ("vl: Factor configure_blockdev() out of main()") >> passed &bdo_queue as argument, but this isn't really necessary since >> there is only one call, so we still use the global variable. >> >> Dropping the &bdo_queue argument allows to silence this global shadow >> warning: >> >> softmmu/vl.c:678:54: error: declaration shadows a variable in the global scope [-Werror,-Wshadow] >> static void configure_blockdev(BlockdevOptionsQueue *bdo_queue, >> ^ >> softmmu/vl.c:172:29: note: previous declaration is here >> static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue); > > Not sure this is an improvement. Up to Paolo, I guess. Any alternative suggestion? I'm looking at enabling -Wshadow with Clang to avoid Clang users not getting the -Wshadow=local warnings until a maintainer test their patches on CI.
Philippe Mathieu-Daudé <philmd@linaro.org> writes: > On 9/10/23 12:26, Markus Armbruster wrote: >> Philippe Mathieu-Daudé <philmd@linaro.org> writes: >> >>> Commit d11bf9bf0f ("vl: Factor configure_blockdev() out of main()") >>> passed &bdo_queue as argument, but this isn't really necessary since >>> there is only one call, so we still use the global variable. >>> >>> Dropping the &bdo_queue argument allows to silence this global shadow >>> warning: >>> >>> softmmu/vl.c:678:54: error: declaration shadows a variable in the global scope [-Werror,-Wshadow] >>> static void configure_blockdev(BlockdevOptionsQueue *bdo_queue, >>> ^ >>> softmmu/vl.c:172:29: note: previous declaration is here >>> static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue); >> Not sure this is an improvement. Up to Paolo, I guess. > > Any alternative suggestion? I'm looking at enabling -Wshadow with Clang > to avoid Clang users not getting the -Wshadow=local warnings until a > maintainer test their patches on CI. Rename to @bdos?
diff --git a/softmmu/vl.c b/softmmu/vl.c index 98e071e63b..bc283b9fd4 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -674,8 +674,7 @@ static void default_drive(int enable, int snapshot, BlockInterfaceType type, } -static void configure_blockdev(BlockdevOptionsQueue *bdo_queue, - MachineClass *machine_class, int snapshot) +static void configure_blockdev(MachineClass *machine_class, int snapshot) { /* * If the currently selected machine wishes to override the @@ -688,10 +687,10 @@ static void configure_blockdev(BlockdevOptionsQueue *bdo_queue, } /* open the virtual block devices */ - while (!QSIMPLEQ_EMPTY(bdo_queue)) { - BlockdevOptionsQueueEntry *bdo = QSIMPLEQ_FIRST(bdo_queue); + while (!QSIMPLEQ_EMPTY(&bdo_queue)) { + BlockdevOptionsQueueEntry *bdo = QSIMPLEQ_FIRST(&bdo_queue); - QSIMPLEQ_REMOVE_HEAD(bdo_queue, entry); + QSIMPLEQ_REMOVE_HEAD(&bdo_queue, entry); loc_push_restore(&bdo->loc); qmp_blockdev_add(bdo->bdo, &error_fatal); loc_pop(&bdo->loc); @@ -712,7 +711,6 @@ static void configure_blockdev(BlockdevOptionsQueue *bdo_queue, CDROM_OPTS); default_drive(default_floppy, snapshot, IF_FLOPPY, 0, FD_OPTS); default_drive(default_sdcard, snapshot, IF_SD, 0, SD_OPTS); - } static QemuOptsList qemu_smp_opts = { @@ -1961,7 +1959,7 @@ static void qemu_create_early_backends(void) * Note: we need to create audio and block backends before * setting machine properties, so they can be referred to. */ - configure_blockdev(&bdo_queue, machine_class, snapshot); + configure_blockdev(machine_class, snapshot); audio_init_audiodevs(); }
Commit d11bf9bf0f ("vl: Factor configure_blockdev() out of main()") passed &bdo_queue as argument, but this isn't really necessary since there is only one call, so we still use the global variable. Dropping the &bdo_queue argument allows to silence this global shadow warning: softmmu/vl.c:678:54: error: declaration shadows a variable in the global scope [-Werror,-Wshadow] static void configure_blockdev(BlockdevOptionsQueue *bdo_queue, ^ softmmu/vl.c:172:29: note: previous declaration is here static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue); ^ Remove a spurious empty line. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- softmmu/vl.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)