qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Markus Armbruster <armbru@redhat.com>, qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Chris Wulff" <crwulff@gmail.com>,
	"Sagar Karandikar" <sagark@eecs.berkeley.edu>,
	"David Hildenbrand" <david@redhat.com>,
	"James Hogan" <jhogan@kernel.org>,
	"Anthony Green" <green@moxielogic.com>,
	"Palmer Dabbelt" <palmer@sifive.com>,
	"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
	"Max Filippov" <jcmvbkbc@gmail.com>,
	"Dmitry Fleytman" <dmitry.fleytman@gmail.com>,
	"Alistair Francis" <Alistair.Francis@wdc.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"Guan Xuetao" <gxt@mprc.pku.edu.cn>,
	"Marek Vasut" <marex@denx.de>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Aleksandar Rikalo" <arikalo@wavecomp.com>,
	"Helge Deller" <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Halil Pasic" <pasic@linux.ibm.com>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	"Anthony Perard" <anthony.perard@citrix.com>,
	"Richard Henderson" <rth@twiddle.net>,
	"Jason Wang" <jasowang@redhat.com>,
	"Artyom Tarasenko" <atar4qemu@gmail.com>,
	"Laurent Vivier" <lvivier@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Riku Voipio" <riku.voipio@iki.fi>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Alistair Francis" <alistair@alistair23.me>,
	"Greg Kurz" <groug@kaod.org>,
	"Marcelo Tosatti" <mtosatti@redhat.com>,
	"Beniamino Galvani" <b.galvani@gmail.com>,
	"Eric Auger" <eric.auger@redhat.com>,
	"Paul Durrant" <paul.durrant@citrix.com>,
	"Stafford Horne" <shorne@gmail.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"David Gibson" <david@gibson.dropbear.id.au>,
	"Daniel P. Berrange" <berrange@redhat.com>,
	"Claudio Fontana" <claudio.fontana@gmail.com>,
	"Bastian Koppelmann" <kbastian@mail.uni-paderborn.de>,
	"Cornelia Huck" <cohuck@redhat.com>,
	"Claudio Fontana" <claudio.fontana@huawei.com>,
	"Laurent Vivier" <laurent@vivier.eu>,
	"Andrew Baumann" <Andrew.Baumann@microsoft.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Michael Walle" <michael@walle.cc>,
	"Aleksandar Markovic" <amarkovic@wavecomp.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Aurelien Jarno" <aurelien@aurel32.net>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: Re: [Qemu-devel] Headers without multiple inclusion guards
Date: Mon, 3 Jun 2019 12:55:01 +0200	[thread overview]
Message-ID: <4397594e-ccba-3f54-6359-2cb061b8fcc0@redhat.com> (raw)
In-Reply-To: <87lfyqla7r.fsf@dusky.pond.sub.org>

Hi Markus,

(sorry about the late reply, I've been away.)

On 05/28/19 20:12, Markus Armbruster wrote:

> EDK2 Firmware
> M: Laszlo Ersek <lersek@redhat.com>
> M: Philippe Mathieu-Daudé <philmd@redhat.com>
> tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h

This header file does have a multiple inclusion guard:

> /** @file
>   Expose the address(es) of the ACPI RSD PTR table(s) and the SMBIOS entry
>   point(s) in a MB-aligned structure to the hypervisor.
>
>   [...]
> **/
>
> #ifndef __BIOS_TABLES_TEST_H__
> #define __BIOS_TABLES_TEST_H__
>
> [...]
>
> #endif // __BIOS_TABLES_TEST_H__

It's possible that "scripts/clean-header-guards.pl" does not recognize
the guard.

According to the ISO C standard, "All identifiers that begin with an
underscore and either an uppercase letter or another underscore are
always reserved for any use". Therefore, technically speaking, the above
inclusion guard implies undefined behavior. In practice, this particular
style for header guards is extremely common in the edk2 codebase:

$ git grep '^#ifndef __' -- '*.h'  | wc -l
1012

And, "tests/uefi-test-tools/UefiTestToolsPkg" follows the edk2 coding
style.

That said, if you'd like to remove the leading "__" from the macro name,
I'd be fully OK with that.

Thank you!
Laszlo


  parent reply	other threads:[~2019-06-03 10:57 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-28 18:12 [Qemu-devel] Headers without multiple inclusion guards Markus Armbruster
2019-05-28 18:32 ` Peter Maydell
2019-05-29 12:47   ` Markus Armbruster
2019-05-30 10:14     ` Peter Maydell
2019-05-28 19:23 ` Eduardo Habkost
2019-05-29  8:21   ` Paul Durrant
2019-05-29 12:49     ` Markus Armbruster
2019-05-28 19:55 ` Max Filippov
2019-05-29 12:51   ` Markus Armbruster
2019-05-29 13:20     ` Philippe Mathieu-Daudé
2019-05-28 20:08 ` Richard Henderson
2019-05-28 22:14 ` BALATON Zoltan
2019-05-29  1:47 ` David Gibson
2019-05-29  6:30 ` Laurent Vivier
2019-05-29  8:25 ` Bastian Koppelmann
2019-05-29  9:01 ` Cornelia Huck
2019-05-29  9:19 ` Greg Kurz
2019-05-29  9:38 ` Alex Bennée
2019-05-29  9:58 ` Anthony PERARD
2019-05-29 12:55   ` Markus Armbruster
2019-05-29 10:05 ` David Hildenbrand
2019-05-29 13:22 ` Philippe Mathieu-Daudé
2019-05-29 14:10   ` Markus Armbruster
2019-06-03 10:57     ` Laszlo Ersek
2019-06-02  7:06 ` Dmitry Fleytman
2019-06-03 10:55 ` Laszlo Ersek [this message]
2019-06-03 12:59   ` Markus Armbruster
2019-06-03 14:24     ` Philippe Mathieu-Daudé
2019-06-03 16:23       ` Laszlo Ersek
2019-06-05 14:23 ` Daniel P. Berrangé
2019-06-05 16:18   ` Laszlo Ersek
2019-06-05 16:23     ` Daniel P. Berrangé
2019-06-05 17:03       ` Laszlo Ersek
2019-06-05 17:52   ` Markus Armbruster
2019-06-07 17:32     ` Daniel P. Berrangé
2019-06-05 20:49 ` Alistair Francis

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=4397594e-ccba-3f54-6359-2cb061b8fcc0@redhat.com \
    --to=lersek@redhat.com \
    --cc=Alistair.Francis@wdc.com \
    --cc=Andrew.Baumann@microsoft.com \
    --cc=alex.bennee@linaro.org \
    --cc=alistair@alistair23.me \
    --cc=amarkovic@wavecomp.com \
    --cc=anthony.perard@citrix.com \
    --cc=arikalo@wavecomp.com \
    --cc=armbru@redhat.com \
    --cc=atar4qemu@gmail.com \
    --cc=aurelien@aurel32.net \
    --cc=b.galvani@gmail.com \
    --cc=berrange@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=claudio.fontana@gmail.com \
    --cc=claudio.fontana@huawei.com \
    --cc=cohuck@redhat.com \
    --cc=crwulff@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=david@redhat.com \
    --cc=deller@gmx.de \
    --cc=dmitry.fleytman@gmail.com \
    --cc=edgar.iglesias@gmail.com \
    --cc=ehabkost@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=green@moxielogic.com \
    --cc=groug@kaod.org \
    --cc=gxt@mprc.pku.edu.cn \
    --cc=jasowang@redhat.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=jhogan@kernel.org \
    --cc=kbastian@mail.uni-paderborn.de \
    --cc=kraxel@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=lvivier@redhat.com \
    --cc=marex@denx.de \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=michael@walle.cc \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=palmer@sifive.com \
    --cc=pasic@linux.ibm.com \
    --cc=paul.durrant@citrix.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=riku.voipio@iki.fi \
    --cc=rth@twiddle.net \
    --cc=sagark@eecs.berkeley.edu \
    --cc=shorne@gmail.com \
    --cc=sstabellini@kernel.org \
    --cc=thuth@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).