[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