From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52544) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyflU-0002QH-Vr for qemu-devel@nongnu.org; Wed, 21 Mar 2018 11:35:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyflT-0001Sa-Vp for qemu-devel@nongnu.org; Wed, 21 Mar 2018 11:35:01 -0400 Date: Wed, 21 Mar 2018 16:34:39 +0100 From: Kevin Wolf Message-ID: <20180321153439.GC3898@localhost.localdomain> References: <1521642402-197739-1-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1521642402-197739-1-git-send-email-mst@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2] qemu: replace "" with <> in headers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: qemu-devel@nongnu.org, Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= , Thomas Huth , Laurent Vivier , Peter Maydell , Dmitry Fleytman , Ronnie Sahlberg , Li Zhijian , David Hildenbrand , Jeff Cody , Zhang Chen , BALATON Zoltan , Keith Busch , Max Filippov , Gerd Hoffmann , Jiri Pirko , Subbaraya Sundeep , Eric Blake , Michael Roth , Marcelo Tosatti , Josh Durgin , Stefano Stabellini , Alberto Garcia , zhanghailiang , Ben Warren , Marcel Apfelbaum , Yongbok Kim , Markus Armbruster , Stefan Berger , Christian Borntraeger , kvm@vger.kernel.org, =?iso-8859-1?Q?Herv=E9?= Poussineau , Shannon Zhao , Anthony Perard , Liu Yuan , David Gibson , Andrzej Zaborowski , Jason Wang , Artyom Tarasenko , Riku Voipio , Fam Zheng , Eduardo Habkost , Corey Minyard , Amit Shah , Pavel Dovgalyuk , Stefan Weil , Xie Changlong , Alistair Francis , Peter Lieven , "Dr. David Alan Gilbert" , Greg Kurz , =?iso-8859-1?Q?Marc-Andr=E9?= Lureau , Alex Williamson , qemu-arm@nongnu.org, Peter Chubb , Yuval Shaia , Stefan Hajnoczi , Paolo Bonzini , xen-devel@lists.xenproject.org, John Snow , Richard Henderson , qemu-block@nongnu.org, Peter Crosthwaite , Hitoshi Mitake , Wen Congyang , qemu-s390x@nongnu.org, Cornelia Huck , "Richard W.M. Jones" , Juan Quintela , Max Reitz , Michael Walle , qemu-ppc@nongnu.org, Andreas =?iso-8859-1?Q?F=E4rber?= , Igor Mammedov , Hannes Reinecke , Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= Am 21.03.2018 um 15:46 hat Michael S. Tsirkin geschrieben: > 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 You're right that there is a conflict, even though only in one direction: "trace.h" is unambiguously the local trace.h in our source tree, but refers to the same local header rather than the system header as you would expect. An easy way to resolve this conflict would be using -iquote rather than -I for directories in the source tree, so that unambiguously refers to the system header and "trace.h" unambiguously refers to the QEMU header. > 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. Renaming files is always painful. If that's the fix, the cure might be worse than the disease. As far as I know, the conflict is only theoretical, so in that case I'd say: If it ain't broke, don't fix it. Kevin