From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org, "Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Thomas Huth" <thuth@redhat.com>,
"Laurent Vivier" <laurent@vivier.eu>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Dmitry Fleytman" <dmitry.fleytman@gmail.com>,
"Ronnie Sahlberg" <ronniesahlberg@gmail.com>,
"Li Zhijian" <lizhijian@cn.fujitsu.com>,
"David Hildenbrand" <david@redhat.com>,
"Jeff Cody" <jcody@redhat.com>,
"Zhang Chen" <zhangckid@gmail.com>,
"BALATON Zoltan" <balaton@eik.bme.hu>,
"Keith Busch" <keith.busch@intel.com>,
"Max Filippov" <jcmvbkbc@gmail.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Jiri Pirko" <jiri@resnulli.us>,
"Subbaraya Sundeep" <sundeep.lkml@gmail.com>,
"Eric Blake" <eblake@redhat.com>,
"Michael Roth" <mdroth@linux.vnet.ibm.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
"Josh Durgin" <jdurgin@redhat.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Alberto Garcia" <berto@igalia.com>,
zhanghailiang <zhang.zhanghailiang@huawei.com>,
"Ben Warren" <ben@skyportsystems.com>,
"Marcel Apfelbaum" <marcel@redhat.com>,
"Yongbok Kim" <yongbok.kim@mips.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Stefan Berger" <stefanb@linux.vnet.ibm.com>,
"Christian Borntraeger" <borntraeger@de.ibm.com>,
kvm@vger.kernel.org, "Hervé Poussineau" <hpoussin@reactos.org>,
"Shannon Zhao" <zhaoshenglong@huawei.com>,
"Anthony Perard" <anthony.perard@citrix.com>,
"Liu Yuan" <namei.unix@gmail.com>,
"David Gibson" <david@gibson.dropbear.id.au>,
"Andrzej Zaborowski" <balrogg@gmail.com>,
"Jason Wang" <jasowang@redhat.com>,
"Artyom Tarasenko" <atar4qemu@gmail.com>,
"Riku Voipio" <riku.voipio@iki.fi>, "Fam Zheng" <famz@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Corey Minyard" <minyard@acm.org>, "Amit Shah" <amit@kernel.org>,
"Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>,
"Stefan Weil" <sw@weilnetz.de>,
"Xie Changlong" <xiechanglong.d@gmail.com>,
"Alistair Francis" <alistair@alistair23.me>,
"Peter Lieven" <pl@kamp.de>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
"Greg Kurz" <groug@kaod.org>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Alex Williamson" <alex.williamson@redhat.com>,
qemu-arm@nongnu.org, "Peter Chubb" <peter.chubb@nicta.com.au>,
"Yuval Shaia" <yuval.shaia@oracle.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
xen-devel@lists.xenproject.org, "John Snow" <jsnow@redhat.com>,
"Richard Henderson" <rth@twiddle.net>,
"Kevin Wolf" <kwolf@redhat.com>,
qemu-block@nongnu.org,
"Peter Crosthwaite" <crosthwaite.peter@gmail.com>,
"Hitoshi Mitake" <mitake.hitoshi@lab.ntt.co.jp>,
"Wen Congyang" <wencongyang2@huawei.com>,
qemu-s390x@nongnu.org, "Cornelia Huck" <cohuck@redhat.com>,
"Richard W.M. Jones" <rjones@redhat.com>,
"Juan Quintela" <quintela@redhat.com>,
"Max Reitz" <mreitz@redhat.com>,
"Michael Walle" <michael@walle.cc>,
qemu-ppc@nongnu.org, "Andreas Färber" <afaerber@suse.de>,
"Igor Mammedov" <imammedo@redhat.com>,
"Hannes Reinecke" <hare@suse.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: [Qemu-devel] [PATCH v2] qemu: replace "" with <> in headers
Date: Wed, 21 Mar 2018 16:46:32 +0200 [thread overview]
Message-ID: <1521642402-197739-1-git-send-email-mst@redhat.com> (raw)
Our current scheme is to use
#include ""
for internal headers, and
#include <>
for external ones.
Unfortunately this is not based on compiler support: from C point of
view, the "" form merely looks up headers in the current directory
and then falls back on <> directories.
Thus, for example, a system header trace.h - should it be present - will
conflict with our local trace.h
As another example of problems, a header by the same name in the source
directory will always be picked up first - before any headers in
the include directory.
Let's change the scheme: make sure all headers that are not
in the source directory are included through a path
starting with qemu/ , thus:
#include <>
headers in the same directory as source are included with
#include ""
as per standard.
This (untested) patch is just to start the discussion and does not
change all of the codebase. If there's agreement, this will be
run on all code to converting code to this scheme.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
| 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100755 scripts/changeheaders.pl
--git a/scripts/changeheaders.pl b/scripts/changeheaders.pl
new file mode 100755
index 0000000..22bd5b8
--- /dev/null
+++ b/scripts/changeheaders.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl -pi
+
+if (m@^\s*#include\s+"([^"+]"@o) {
+ next;
+}
+
+my $hdr = $1;
+my $file = $ARGV;
+$file =~ s@/[^/]+$@@g;
+$file .= $hdr;
+
+if (-e $file) {
+ next;
+}
+
+if (m@^\s*#include\s+"qemu/@o) {
+ s@^(\s*#include\s+)"qemu/([^"]+)"(.*)$@$1<qemu/common/$2>$3@o) {
+} else {
+ s@^(\s*#include\s+)"([^"]+)"(.*)$@$1<qemu/$2>$3@o) {
+}
--
MST
next reply other threads:[~2018-03-21 14:47 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-21 14:46 Michael S. Tsirkin [this message]
2018-03-21 15:04 ` [Qemu-devel] [PATCH v2] qemu: replace "" with <> in headers Paolo Bonzini
2018-03-21 15:11 ` Michael S. Tsirkin
2018-03-21 15:23 ` Paolo Bonzini
2018-03-21 15:19 ` Daniel P. Berrangé
2018-03-21 15:39 ` Michael S. Tsirkin
2018-03-21 15:54 ` Daniel P. Berrangé
2018-03-21 15:34 ` Kevin Wolf
2018-03-21 15:58 ` Michael S. Tsirkin
2018-03-21 16:22 ` Kevin Wolf
2018-03-22 19:29 ` Michael S. Tsirkin
2018-03-22 20:33 ` Paolo Bonzini
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=1521642402-197739-1-git-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=afaerber@suse.de \
--cc=alex.williamson@redhat.com \
--cc=alistair@alistair23.me \
--cc=amit@kernel.org \
--cc=anthony.perard@citrix.com \
--cc=armbru@redhat.com \
--cc=atar4qemu@gmail.com \
--cc=balaton@eik.bme.hu \
--cc=balrogg@gmail.com \
--cc=ben@skyportsystems.com \
--cc=berrange@redhat.com \
--cc=berto@igalia.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=crosthwaite.peter@gmail.com \
--cc=david@gibson.dropbear.id.au \
--cc=david@redhat.com \
--cc=dgilbert@redhat.com \
--cc=dmitry.fleytman@gmail.com \
--cc=eblake@redhat.com \
--cc=ehabkost@redhat.com \
--cc=f4bug@amsat.org \
--cc=famz@redhat.com \
--cc=groug@kaod.org \
--cc=hare@suse.com \
--cc=hpoussin@reactos.org \
--cc=imammedo@redhat.com \
--cc=jasowang@redhat.com \
--cc=jcmvbkbc@gmail.com \
--cc=jcody@redhat.com \
--cc=jdurgin@redhat.com \
--cc=jiri@resnulli.us \
--cc=jsnow@redhat.com \
--cc=keith.busch@intel.com \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=kwolf@redhat.com \
--cc=laurent@vivier.eu \
--cc=lizhijian@cn.fujitsu.com \
--cc=marcandre.lureau@redhat.com \
--cc=marcel@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=michael@walle.cc \
--cc=minyard@acm.org \
--cc=mitake.hitoshi@lab.ntt.co.jp \
--cc=mreitz@redhat.com \
--cc=mtosatti@redhat.com \
--cc=namei.unix@gmail.com \
--cc=pavel.dovgaluk@ispras.ru \
--cc=pbonzini@redhat.com \
--cc=peter.chubb@nicta.com.au \
--cc=peter.maydell@linaro.org \
--cc=pl@kamp.de \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=quintela@redhat.com \
--cc=riku.voipio@iki.fi \
--cc=rjones@redhat.com \
--cc=ronniesahlberg@gmail.com \
--cc=rth@twiddle.net \
--cc=sstabellini@kernel.org \
--cc=stefanb@linux.vnet.ibm.com \
--cc=stefanha@redhat.com \
--cc=sundeep.lkml@gmail.com \
--cc=sw@weilnetz.de \
--cc=thuth@redhat.com \
--cc=wencongyang2@huawei.com \
--cc=xen-devel@lists.xenproject.org \
--cc=xiechanglong.d@gmail.com \
--cc=yongbok.kim@mips.com \
--cc=yuval.shaia@oracle.com \
--cc=zhang.zhanghailiang@huawei.com \
--cc=zhangckid@gmail.com \
--cc=zhaoshenglong@huawei.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).