diff mbox

cpu: Clean up includes

Message ID 1453138544-8457-1-git-send-email-peter.maydell@linaro.org
State New
Headers show

Commit Message

Peter Maydell Jan. 18, 2016, 5:35 p.m. UTC
Clean up includes so that osdep.h is included first and headers
which it implies are not included manually.

This commit was created with scripts/clean-includes.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 qom/cpu.c         | 1 +
 target-i386/cpu.c | 5 +----
 2 files changed, 2 insertions(+), 4 deletions(-)

Comments

Andreas Färber Jan. 18, 2016, 6 p.m. UTC | #1
Am 18.01.2016 um 18:35 schrieb Peter Maydell:
> Clean up includes so that osdep.h is included first and headers
> which it implies are not included manually.
> 
> This commit was created with scripts/clean-includes.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  qom/cpu.c         | 1 +
>  target-i386/cpu.c | 5 +----
>  2 files changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/qom/cpu.c b/qom/cpu.c
> index 8f537a4..edd6b6a 100644
> --- a/qom/cpu.c
> +++ b/qom/cpu.c
> @@ -18,6 +18,7 @@
>   * <http://www.gnu.org/licenses/gpl-2.0.html>
>   */
>  
> +#include "qemu/osdep.h"
>  #include "qemu-common.h"

Shouldn't qemu-common.h include osdep.h?

Otherwise looks okay.

Regards,
Andreas

>  #include "qom/cpu.h"
>  #include "sysemu/kvm.h"
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 0d447b5..1e3b98a 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -16,10 +16,7 @@
>   * You should have received a copy of the GNU Lesser General Public
>   * License along with this library; if not, see <http://www.gnu.org/licenses/>.
>   */
> -#include <stdlib.h>
> -#include <stdio.h>
> -#include <string.h>
> -#include <inttypes.h>
> +#include "qemu/osdep.h"
>  
>  #include "cpu.h"
>  #include "sysemu/kvm.h"
Peter Maydell Jan. 18, 2016, 6:05 p.m. UTC | #2
On 18 January 2016 at 18:00, Andreas Färber <afaerber@suse.de> wrote:
> Am 18.01.2016 um 18:35 schrieb Peter Maydell:
>> Clean up includes so that osdep.h is included first and headers
>> which it implies are not included manually.
>>
>> This commit was created with scripts/clean-includes.
>>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>>  qom/cpu.c         | 1 +
>>  target-i386/cpu.c | 5 +----
>>  2 files changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/qom/cpu.c b/qom/cpu.c
>> index 8f537a4..edd6b6a 100644
>> --- a/qom/cpu.c
>> +++ b/qom/cpu.c
>> @@ -18,6 +18,7 @@
>>   * <http://www.gnu.org/licenses/gpl-2.0.html>
>>   */
>>
>> +#include "qemu/osdep.h"
>>  #include "qemu-common.h"
>
> Shouldn't qemu-common.h include osdep.h?

It does, but the intention is that every .c file should include
qemu/osdep.h as its first include (even if some other include
it has also results in osdep.h being pulled in). This is a simple
rule that's easy to check in code review and hopefully also
in an automated way. It should also help us in future
disentangling of some of the things that qemu-common.h pulls in
into their own header files.

thanks
-- PMM
Eric Blake Jan. 18, 2016, 9:27 p.m. UTC | #3
On 01/18/2016 11:05 AM, Peter Maydell wrote:

>>> +++ b/qom/cpu.c
>>> @@ -18,6 +18,7 @@
>>>   * <http://www.gnu.org/licenses/gpl-2.0.html>
>>>   */
>>>
>>> +#include "qemu/osdep.h"
>>>  #include "qemu-common.h"
>>
>> Shouldn't qemu-common.h include osdep.h?
> 
> It does, but the intention is that every .c file should include
> qemu/osdep.h as its first include (even if some other include
> it has also results in osdep.h being pulled in).

Eventually, we want to force that NO .h file includes qemu/osdep.h.  If
every .c file includes it first, then all other .h files can count on it
already being included and therefore don't need to include it
themselves.  (This is comparable to the rule used in other projects,
like libvirt's handling of config.h which must be first in all .c files
and must not be included in .h files).

> This is a simple
> rule that's easy to check in code review and hopefully also
> in an automated way.

Indeed - we MUST turn on automation after all these individual patches
are in, to make sure we don't regress (again, something that libvirt has
already managed to do, so it shouldn't be too hard to automate, except
that libvirt's automation is courtesy of gnulib which we don't use here).
diff mbox

Patch

diff --git a/qom/cpu.c b/qom/cpu.c
index 8f537a4..edd6b6a 100644
--- a/qom/cpu.c
+++ b/qom/cpu.c
@@ -18,6 +18,7 @@ 
  * <http://www.gnu.org/licenses/gpl-2.0.html>
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qom/cpu.h"
 #include "sysemu/kvm.h"
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 0d447b5..1e3b98a 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -16,10 +16,7 @@ 
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <inttypes.h>
+#include "qemu/osdep.h"
 
 #include "cpu.h"
 #include "sysemu/kvm.h"