From: Markus Armbruster <armbru@redhat.com>
To: "Cédric Le Goater" <clg@kaod.org>
Cc: Eric Blake <eblake@redhat.com>,
qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com,
vsementsov@yandex-team.ru, jsnow@redhat.com,
idryomov@gmail.com, pl@kamp.de, sw@weilnetz.de,
sstabellini@kernel.org, anthony.perard@citrix.com,
paul@xen.org, pbonzini@redhat.com, marcandre.lureau@redhat.com,
berrange@redhat.com, thuth@redhat.com, philmd@linaro.org,
stefanha@redhat.com, fam@euphon.net, quintela@redhat.com,
peterx@redhat.com, leobras@redhat.com, kraxel@redhat.com,
qemu-block@nongnu.org, xen-devel@lists.xenproject.org,
alex.bennee@linaro.org, peter.maydell@linaro.org
Subject: Re: [PATCH 7/7] qobject atomics osdep: Make a few macros more hygienic
Date: Fri, 01 Sep 2023 16:50:02 +0200 [thread overview]
Message-ID: <87ttsevtgl.fsf@pond.sub.org> (raw)
In-Reply-To: <7b8a4589-7f29-e564-4904-9b1a4fd342af@kaod.org> ("Cédric Le Goater"'s message of "Fri, 1 Sep 2023 14:59:22 +0200")
Cédric Le Goater <clg@kaod.org> writes:
> On 8/31/23 16:30, Eric Blake wrote:
>> On Thu, Aug 31, 2023 at 03:25:46PM +0200, Markus Armbruster wrote:
>> [This paragraph written last: Bear with my stream of consciousness
>> review below, where I end up duplicating some of the conslusions you
>> reached before the point where I saw where the patch was headed]
>>
>>> Variables declared in macros can shadow other variables. Much of the
>>> time, this is harmless, e.g.:
>>>
>>> #define _FDT(exp) \
>>> do { \
>>> int ret = (exp); \
>>> if (ret < 0) { \
>>> error_report("error creating device tree: %s: %s", \
>>> #exp, fdt_strerror(ret)); \
>>> exit(1); \
>>> } \
>>> } while (0)
>> Which is why I've seen some projects require a strict namespace
>> separation: if all macro parameters and any identifiers declared in
>> macros use either a leading or a trailing _ (I prefer a trailing one,
>> to avoid risking conflicts with libc reserved namespace; but leading
>> is usually okay), and all other identifiers avoid that namespace, then
>> you will never have shadowing by calling a macro from normal code.
>
> I started fixing the _FDT() macro since it is quite noisy at compile.
> Same for qemu_fdt_setprop_cells(). So are we ok with names like 'ret_'
> and 'i_' ? I used a 'local_' prefix for now but I can change.
I believe identifiers with a '_' suffix are just fine in macros. We
have quite a few of them already.
> I also have a bunch of fixes for ppc.
Appreciated!
next prev parent reply other threads:[~2023-09-01 14:50 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-31 13:25 [PATCH 0/7] Steps towards enabling -Wshadow=local Markus Armbruster
2023-08-31 13:25 ` [PATCH 1/7] migration/rdma: Fix save_page method to fail on polling error Markus Armbruster
2023-08-31 13:38 ` Eric Blake
2023-09-19 5:40 ` Markus Armbruster
2023-08-31 20:17 ` Peter Xu
2023-09-06 3:48 ` Zhijian Li (Fujitsu)
2023-08-31 13:25 ` [PATCH 2/7] migration: Clean up local variable shadowing Markus Armbruster
2023-08-31 20:19 ` Peter Xu
2023-08-31 13:25 ` [PATCH 3/7] ui: " Markus Armbruster
2023-08-31 14:53 ` Peter Maydell
2023-09-01 8:11 ` Markus Armbruster
2023-08-31 13:25 ` [PATCH 4/7] block/dirty-bitmap: " Markus Armbruster
2023-08-31 19:29 ` Stefan Hajnoczi
2023-09-15 7:52 ` Kevin Wolf
2023-09-19 5:48 ` Markus Armbruster
2023-09-19 9:45 ` Kevin Wolf
2023-09-20 13:38 ` Markus Armbruster
2023-08-31 13:25 ` [PATCH 5/7] block/vdi: " Markus Armbruster
2023-08-31 19:26 ` Stefan Hajnoczi
2023-09-15 7:41 ` Kevin Wolf
2023-09-18 14:47 ` Markus Armbruster
2023-08-31 13:25 ` [PATCH 6/7] block: " Markus Armbruster
2023-08-31 19:24 ` Stefan Hajnoczi
2023-09-11 10:44 ` Anthony PERARD
2023-09-11 11:17 ` Ilya Dryomov
2023-09-15 8:10 ` Kevin Wolf
2023-09-18 14:49 ` Markus Armbruster
2023-08-31 13:25 ` [PATCH 7/7] qobject atomics osdep: Make a few macros more hygienic Markus Armbruster
2023-08-31 14:30 ` Eric Blake
2023-09-01 8:48 ` Markus Armbruster
2023-09-01 13:18 ` Eric Blake
2023-09-19 6:29 ` Markus Armbruster
2023-09-01 12:59 ` Cédric Le Goater
2023-09-01 14:31 ` Philippe Mathieu-Daudé
2023-09-01 14:50 ` Markus Armbruster [this message]
2023-09-01 14:54 ` Cédric Le Goater
2023-08-31 15:52 ` Richard Henderson
2023-09-01 8:12 ` Markus Armbruster
2023-09-01 8:05 ` [PATCH 0/7] Steps towards enabling -Wshadow=local 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=87ttsevtgl.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=anthony.perard@citrix.com \
--cc=berrange@redhat.com \
--cc=clg@kaod.org \
--cc=eblake@redhat.com \
--cc=fam@euphon.net \
--cc=hreitz@redhat.com \
--cc=idryomov@gmail.com \
--cc=jsnow@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=leobras@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=paul@xen.org \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=pl@kamp.de \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=sstabellini@kernel.org \
--cc=stefanha@redhat.com \
--cc=sw@weilnetz.de \
--cc=thuth@redhat.com \
--cc=vsementsov@yandex-team.ru \
--cc=xen-devel@lists.xenproject.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.