qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v6 05/27] qapi: include osdep.h in type headers


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH v6 05/27] qapi: include osdep.h in type headers
Date: Tue, 4 Dec 2018 10:30:45 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

On 12/4/18 9:32 AM, Marc-André Lureau wrote:

+++ b/scripts/qapi/types.py
@@ -201,6 +201,7 @@ class QAPISchemaGenTypeVisitor(QAPISchemaModularCVisitor):
  ''',
                                        types=types, visit=visit))
          self._genh.preamble_add(mcgen('''
+#include "qemu/osdep.h"
  #include "qapi/qapi-builtin-types.h"
  '''))

No.  Every .c must include qemu/osdep.h first.  No .h may include it.
We clean this up periodically.  scripts/clean-includes can help with
that.  We currently have a few offenders in the tree.

Ok, I don't know the reason an internal header couldn't include osdep,
could you explain?

Per HACKING:

Do not include "qemu/osdep.h" from header files since the .c file will have
already included it.


That is, if we follow the rule that every .c file included osdep.h before anything else, then by the time any other internal .h is included (necessarily second or later) from a .c, then osdep.h is already active, so no .h needs to reproduce the effort that has already occurred.


I think we can replace osdep.h by config-host.h for the same result,
I'd have to check.

osdep.h includes config-host.h, so you don't need that either.

What are you really trying to accomplish by including a header from another header? And why isn't it already happening by our coding rule that all .c files include osdep.h first?

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]