All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Dmitry Fleytman <dmitry.fleytman@gmail.com>,
	sheepdog@lists.wpkg.org,
	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>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
	Keith Busch <keith.busch@intel.com>,
	Max Filippov <jcmvbkbc@gmail.com>, Greg Kurz <groug@kaod.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Yongbok Kim <yongbok.kim@mips.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	Hannes Reinecke <hare@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alberto Garcia <berto@igalia.com>, zhanghailiang <zhang.z>
Subject: Re: [Qemu-devel] [PATCH] qemu: include generated files with <> and not ""
Date: Tue, 20 Mar 2018 19:49:41 +0200	[thread overview]
Message-ID: <20180320194454-mutt-send-email-mst__23438.048506114$1521568145$gmane$org@kernel.org> (raw)
In-Reply-To: <20180320173401.GG4530@redhat.com>

On Tue, Mar 20, 2018 at 05:34:01PM +0000, Daniel P. Berrangé wrote:
> On Tue, Mar 20, 2018 at 07:10:42PM +0200, Michael S. Tsirkin wrote:
> > On Tue, Mar 20, 2018 at 05:33:42PM +0100, Stefan Weil wrote:
> > > Using <> for system include files and "" for local include files is a
> > > convention, and as far as I know most projects adhere to that
> > > convention. So does QEMU currently. Such conventions are not only
> > > important for humans, but also for tools. There are more tools than the
> > > C preprocessor which handle <> and "" differently. For example the GNU
> > > compiler uses -MD or -MMD to automatically generate dependency rules for
> > > make. While -MD generates dependencies to all include files, -MMD does
> > > so only for user include files, but not for system include files. "user"
> > > and "system" means the different forms how include statements are
> > > written. QEMU still seems to use -MMD:
> > > 
> > > rules.mak:QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d
> > 
> > To my knowledge, and according to my limited testing,
> > system headers in this context means
> > the default ones not supplied with -I.
> 
> GCC's definition of system header is here:
> 
>   https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html
> 
> 
> Regards,
> Daniel

Proves my point, does it not?  You will note that it does not refer to
include <> anywhere.

    2.8 System Headers
    The header files declaring interfaces to the operating system and runtime libraries often cannot be written in strictly conforming C. Therefore, GCC gives code found in system headers special treatment. All warnings, other than those generated by ‘#warning’ (see Diagnostics), are suppressed while GCC is processing a system header. Macros defined in a system header are immune to a few warnings wherever they are expanded. This immunity is granted on an ad-hoc basis, when we find that a warning generates lots of false positives because of code in macros defined in system headers.

    Normally, only the headers found in specific directories are considered system headers. These directories are determined when GCC is compiled. There are, however, two ways to make normal headers into system headers:

    Header files found in directories added to the search path with the -isystem and -idirafter command-line options are treated as system headers for the purposes of diagnostics.
    There is also a directive, #pragma GCC system_header, which tells GCC to consider the rest of the current include file a system header, no matter where it was found. Code that comes before the ‘#pragma’ in the file is not affected. #pragma GCC system_header has no effect in the primary source file.


Conclusion: #include <> is ignored for purposes of determining whether a header is
a system one or not.


> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  parent reply	other threads:[~2018-03-20 17:49 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-20  1:54 [PATCH] qemu: include generated files with <> and not "" Michael S. Tsirkin
2018-03-20  1:54 ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20  8:58 ` Laurent Vivier
2018-03-20  8:58   ` Laurent Vivier
2018-03-20  8:58   ` [Qemu-devel] " Laurent Vivier
2018-03-20  9:44   ` Daniel P. Berrangé
2018-03-20  9:44     ` Daniel P. Berrangé
2018-03-20  9:44     ` [Qemu-devel] " Daniel P. Berrangé
2018-03-20 10:01     ` Peter Maydell
2018-03-20 10:01       ` Peter Maydell
2018-03-20 10:01       ` [Qemu-devel] " Peter Maydell
2018-03-20 10:27       ` Daniel P. Berrangé
2018-03-20 10:27         ` Daniel P. Berrangé
2018-03-20 10:27         ` [Qemu-devel] " Daniel P. Berrangé
2018-03-20 11:52         ` Michael S. Tsirkin
2018-03-20 11:52           ` Michael S. Tsirkin
2018-03-20 11:52           ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 12:12     ` Michael S. Tsirkin
2018-03-20 12:12       ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 12:18       ` Daniel P. Berrangé
2018-03-20 12:18         ` [Qemu-devel] " Daniel P. Berrangé
2018-03-20 12:28         ` Michael S. Tsirkin
2018-03-20 12:28           ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 12:39           ` Daniel P. Berrangé
2018-03-20 12:39             ` [Qemu-devel] " Daniel P. Berrangé
2018-03-20 12:44             ` Michael S. Tsirkin
2018-03-20 12:44               ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 13:32             ` Gerd Hoffmann
2018-03-20 13:32               ` Gerd Hoffmann
2018-03-20 13:32               ` [Qemu-devel] " Gerd Hoffmann
2018-03-20 13:41               ` Daniel P. Berrangé
2018-03-20 13:41                 ` Daniel P. Berrangé
2018-03-20 13:41                 ` [Qemu-devel] " Daniel P. Berrangé
2018-03-20 13:50                 ` Michael S. Tsirkin
2018-03-20 13:50                   ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 13:58                   ` Daniel P. Berrangé
2018-03-20 13:58                     ` [Qemu-devel] " Daniel P. Berrangé
2018-03-20 14:02                     ` Michael S. Tsirkin
2018-03-20 14:02                       ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 13:54                 ` Max Reitz
2018-03-20 13:54                   ` Max Reitz
2018-03-20 13:54                   ` [Qemu-devel] " Max Reitz
2018-03-20 17:12                   ` Michael S. Tsirkin
2018-03-20 17:12                     ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 17:12                   ` Michael S. Tsirkin
2018-03-20 13:46               ` Thomas Huth
2018-03-20 13:46                 ` Thomas Huth
2018-03-20 13:46                 ` [Qemu-devel] " Thomas Huth
2018-03-20 13:53                 ` Michael S. Tsirkin
2018-03-20 13:53                   ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 12:05   ` Michael S. Tsirkin
2018-03-20 12:05     ` Michael S. Tsirkin
2018-03-20 12:05     ` [Qemu-devel] " Michael S. Tsirkin
2018-03-21  7:16     ` [Qemu-ppc] " Thomas Huth
2018-03-21  7:16       ` [Qemu-devel] " Thomas Huth
2018-03-21 13:08       ` Michael S. Tsirkin
2018-03-21 13:08         ` Michael S. Tsirkin
2018-03-21 13:08         ` [Qemu-devel] " Michael S. Tsirkin
2018-03-21 13:15         ` Stefan Weil
2018-03-21 13:15         ` Stefan Weil
2018-03-21 13:15           ` [Qemu-devel] " Stefan Weil
2018-03-21 13:24           ` Michael S. Tsirkin
2018-03-21 13:24             ` Michael S. Tsirkin
2018-03-21 13:24             ` [Qemu-devel] " Michael S. Tsirkin
2018-03-21 13:29         ` Daniel P. Berrangé
2018-03-21 13:29           ` Daniel P. Berrangé
2018-03-21 13:29           ` [Qemu-devel] " Daniel P. Berrangé
2018-03-21 13:42           ` Michael S. Tsirkin
2018-03-21 13:42             ` Michael S. Tsirkin
2018-03-21 13:42             ` [Qemu-devel] " Michael S. Tsirkin
2018-03-21  7:16     ` Thomas Huth
2018-03-20 13:05 ` Michael S. Tsirkin
2018-03-20 13:05   ` Michael S. Tsirkin
2018-03-20 13:05   ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 13:10 ` [Qemu-block] " Stefan Hajnoczi
2018-03-20 13:10   ` Stefan Hajnoczi
2018-03-20 13:10   ` [Qemu-devel] " Stefan Hajnoczi
2018-03-20 13:30   ` Michael S. Tsirkin
2018-03-20 13:30     ` Michael S. Tsirkin
2018-03-20 13:30     ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 16:12 ` Eric Blake
2018-03-20 16:12 ` Eric Blake
2018-03-20 16:12   ` [Qemu-devel] " Eric Blake
2018-03-20 16:40   ` Daniel P. Berrangé
2018-03-20 16:40     ` Daniel P. Berrangé
2018-03-20 16:40     ` [Qemu-devel] " Daniel P. Berrangé
2018-03-20 16:51   ` Michael S. Tsirkin
2018-03-20 16:51   ` Michael S. Tsirkin
2018-03-20 16:51     ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 16:33 ` Stefan Weil
2018-03-20 16:33   ` Stefan Weil
2018-03-20 17:10   ` Michael S. Tsirkin
2018-03-20 17:10     ` Michael S. Tsirkin
2018-03-20 17:10     ` Michael S. Tsirkin
2018-03-20 17:34     ` Daniel P. Berrangé
2018-03-20 17:34     ` Daniel P. Berrangé
2018-03-20 17:34       ` Daniel P. Berrangé
2018-03-20 17:49       ` Michael S. Tsirkin
2018-03-20 17:49         ` Michael S. Tsirkin
2018-03-20 17:49       ` Michael S. Tsirkin [this message]
2018-03-20 17:36   ` Daniel P. Berrangé
2018-03-20 17:36     ` Daniel P. Berrangé
2018-03-20 17:36     ` Daniel P. Berrangé
2018-03-20 16:33 ` Stefan Weil

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='20180320194454-mutt-send-email-mst__23438.048506114$1521568145$gmane$org@kernel.org' \
    --to=mst@redhat.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=berto@igalia.com \
    --cc=david@redhat.com \
    --cc=dmitry.fleytman@gmail.com \
    --cc=edgar.iglesias@gmail.com \
    --cc=ehabkost@redhat.com \
    --cc=groug@kaod.org \
    --cc=hare@suse.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=jcody@redhat.com \
    --cc=keith.busch@intel.com \
    --cc=kraxel@redhat.com \
    --cc=lizhijian@cn.fujitsu.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=ronniesahlberg@gmail.com \
    --cc=sheepdog@lists.wpkg.org \
    --cc=sstabellini@kernel.org \
    --cc=sundeep.lkml@gmail.com \
    --cc=yongbok.kim@mips.com \
    --cc=zhangckid@gmail.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 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.