[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [Qemu-block] [PATCH] qemu: include generated files with <> and not ""
- To: Stefan Hajnoczi <stefanha@xxxxxxxxx>
- From: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
- Date: Tue, 20 Mar 2018 15:30:15 +0200
- Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>, Dmitry Fleytman <dmitry.fleytman@xxxxxxxxx>, sheepdog@xxxxxxxxxxxxxx, Pavel Dovgalyuk <pavel.dovgaluk@xxxxxxxxx>, Li Zhijian <lizhijian@xxxxxxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>, Jason Wang <jasowang@xxxxxxxxxx>, Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>, qemu-devel@xxxxxxxxxx, Alexander Graf <agraf@xxxxxxx>, BALATON Zoltan <balaton@xxxxxxxxxx>, Keith Busch <keith.busch@xxxxxxxxx>, Max Filippov <jcmvbkbc@xxxxxxxxx>, Gerd Hoffmann <kraxel@xxxxxxxxxx>, "Edgar E. Iglesias" <edgar.iglesias@xxxxxxxxx>, Max Reitz <mreitz@xxxxxxxxxx>, Yongbok Kim <yongbok.kim@xxxxxxxx>, Hannes Reinecke <hare@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, zhanghailiang <zhang.zhanghailiang@xxxxxxxxxx>, Ben Warren <ben@xxxxxxxxxxxxxxxxxx>, Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>, Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>, Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>, "Richard W.M. Jones" <rjones@xxxxxxxxxx>, Christian Borntraeger <borntraeger@xxxxxxxxxx>, Hervé Poussineau <hpoussin@xxxxxxxxxxx>, Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>, Shannon Zhao <zhaoshenglong@xxxxxxxxxx>, Marcel Apfelbaum <marcel@xxxxxxxxxx>, Liu Yuan <namei.unix@xxxxxxxxx>, Richard Henderson <rth@xxxxxxxxxxx>, Andrzej Zaborowski <balrogg@xxxxxxxxx>, Juan Quintela <quintela@xxxxxxxxxx>, Artyom Tarasenko <atar4qemu@xxxxxxxxx>, Alistair Francis <alistair@xxxxxxxxxxxxx>, Jiri Pirko <jiri@xxxxxxxxxxx>, Eduardo Habkost <ehabkost@xxxxxxxxxx>, Corey Minyard <minyard@xxxxxxx>, Amit Shah <amit@xxxxxxxxxx>, Stefan Weil <sw@xxxxxxxxxxx>, Xie Changlong <xiechanglong.d@xxxxxxxxx>, Riku Voipio <riku.voipio@xxxxxx>, Peter Lieven <pl@xxxxxxx>, "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx>, Fabien Chouteau <chouteau@xxxxxxxxxxx>, Greg Kurz <groug@xxxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx>, Alex Williamson <alex.williamson@xxxxxxxxxx>, qemu-arm@xxxxxxxxxx, Peter Chubb <peter.chubb@xxxxxxxxxxxx>, Yuval Shaia <yuval.shaia@xxxxxxxxxx>, Stefan Hajnoczi <stefanha@xxxxxxxxxx>, Zhang Chen <zhangckid@xxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, Fam Zheng <famz@xxxxxxxxxx>, David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>, Kevin Wolf <kwolf@xxxxxxxxxx>, kvm@xxxxxxxxxxxxxxx, Daniel P. Berrangé <berrange@xxxxxxxxxx>, qemu-block@xxxxxxxxxx, Peter Crosthwaite <crosthwaite.peter@xxxxxxxxx>, Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx>, Markus Armbruster <armbru@xxxxxxxxxx>, qemu-s390x@xxxxxxxxxx, Marcelo Tosatti <mtosatti@xxxxxxxxxx>, Laurent Vivier <laurent@xxxxxxxxx>, Subbaraya Sundeep <sundeep.lkml@xxxxxxxxx>, Michael Walle <michael@xxxxxxxx>, Igor Mammedov <imammedo@xxxxxxxxxx>, qemu-ppc@xxxxxxxxxx, Wen Congyang <wencongyang2@xxxxxxxxxx>, Cornelia Huck <cohuck@xxxxxxxxxx>, Paolo Bonzini <pbonzini@xxxxxxxxxx>, Andreas Färber <afaerber@xxxxxxx>, Aurelien Jarno <aurelien@xxxxxxxxxxx>, Philippe Mathieu-Daudé <f4bug@xxxxxxxxx>
- Delivery-date: Tue, 20 Mar 2018 13:30:43 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Tue, Mar 20, 2018 at 01:10:41PM +0000, Stefan Hajnoczi wrote:
> On Tue, Mar 20, 2018 at 03:54:36AM +0200, Michael S. Tsirkin wrote:
> > QEMU coding style at the moment asks for all non-system
> > include files to be used with #include "foo.h".
> > However this rule actually does not make sense and
> > creates issues for when the included file is generated.
> >
> > In C, include "file" means look in current directory,
> > then on include search path. Current directory here
> > means the source file directory.
> > By comparison include <file> means look on include search path.
> >
> > As generated files are not in the search directory (unless the build
> > directory happens to match the source directory), it does not make sense
> > to include them with "" - doing so is merely more work for preprocessor
> > and a source or errors if a stale file happens to exist in the source
> > directory.
> >
> > This changes include directives for all generated files, across the
> > tree. The idea is to avoid sending a huge amount of email. But when
> > merging, the changes will be split with one commit per file, e.g. for
> > ease of bisect in case of build failures, and to ease merging.
> >
> > Note that should some generated files be missed by this tree-wide
> > refactoring, it isn't a big deal - this merely maintains the status quo,
> > and this can be addressed by a separate patch on top.
>
> Stale header files are a pain. I often do make distclean before
> checking out a radically different QEMU version to avoid the problem.
>
> This patch trades off the stale header file issue for a new approach to
> using <> vs "", which will be hard to use consistently
The proposed rule is to use <> everywhere except if the file is in the
source directory. It will be very easy to use consistently for the
simple reason that compiler will enforce it. If you use <> for a header
in the current directory build fails. So you are forced to use "".
> in the future
> since it is unconventional.
All compilers I know without exception implement
include <> meaning look in -I search path, and
include "" meaning look in current directory then
in -I search path.
Looks conventional to me.
> Is the build time improvement worth it (please post numbers)?
>
> Stefan
Haven't tested it frankly. Will it convince anyone if it's marginally
faster?
--
MST
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|