qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] script/clean-includes: added duplicate #include check
@ 2016-10-12 18:40 Anand J
  2016-10-18  8:00 ` Anand J
  2016-10-18  8:21 ` Thomas Huth
  0 siblings, 2 replies; 3+ messages in thread
From: Anand J @ 2016-10-12 18:40 UTC (permalink / raw)
  To: qemu-devel

Added script to check duplicate #include entries. This check will scan and
print the files in which duplicate #include entries are present.

Script might output false postive entries as well. Such entries should
not be removed. So if it finds any duplicate entries script will terminate
with an exit status 1. Then each and every file should be checked manually
and corrected if necessary.

Added an additional option --ignore-duphead in the clean-includes
script to disable this check if all the duplicate #includes are
genuine. The check in enabled by default.

NOTE: Removed some of the genuine duplicate entries in the code base.

Signed-off-by: Anand J <anand.indukala@gmail.com>
---
 accel.c                             |  1 -
 cputlb.c                            |  1 -
 gdbstub.c                           |  1 -
 hw/i386/acpi-build.c                |  1 -
 hw/microblaze/boot.c                |  1 -
 hw/mips/mips_malta.c                |  1 -
 hw/nvram/fw_cfg.c                   |  1 -
 hw/pci-bridge/pci_expander_bridge.c |  1 -
 hw/ppc/ppc405_boards.c              |  1 -
 hw/ppc/spapr.c                      |  1 -
 hw/timer/grlib_gptimer.c            |  1 -
 hw/tpm/tpm_tis.c                    |  1 -
 hw/unicore32/puv3.c                 |  1 -
 hw/usb/dev-mtp.c                    |  1 -
 include/hw/i386/pc.h                |  1 -
 monitor.c                           |  2 --
 qemu-io-cmds.c                      |  1 -
 qmp.c                               |  1 -
 scripts/clean-includes              | 50 +++++++++++++++++++++++++++----------
 target-i386/machine.c               |  3 ---
 target-mips/machine.c               |  1 -
 target-ppc/machine.c                |  1 -
 target-ppc/mem_helper.c             |  1 -
 target-sparc/machine.c              |  3 ---
 target-xtensa/translate.c           |  1 -
 tests/crypto-tls-x509-helpers.h     |  3 ---
 tests/vhost-user-test.c             |  2 --
 util/oslib-posix.c                  |  1 -
 vl.c                                |  1 -
 29 files changed, 37 insertions(+), 49 deletions(-)

diff --git a/accel.c b/accel.c
index 403eb5e..b5a4210 100644
--- a/accel.c
+++ b/accel.c
@@ -25,7 +25,6 @@
 
 #include "qemu/osdep.h"
 #include "sysemu/accel.h"
-#include "hw/boards.h"
 #include "qemu-common.h"
 #include "sysemu/arch_init.h"
 #include "sysemu/sysemu.h"
diff --git a/cputlb.c b/cputlb.c
index 3c99c34..59b3969 100644
--- a/cputlb.c
+++ b/cputlb.c
@@ -19,7 +19,6 @@
 
 #include "qemu/osdep.h"
 #include "cpu.h"
-#include "exec/exec-all.h"
 #include "exec/memory.h"
 #include "exec/address-spaces.h"
 #include "exec/cpu_ldst.h"
diff --git a/gdbstub.c b/gdbstub.c
index ecea8c4..67eb028 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -31,7 +31,6 @@
 
 #define MAX_PACKET_LENGTH 4096
 
-#include "cpu.h"
 #include "qemu/sockets.h"
 #include "sysemu/kvm.h"
 #include "exec/semihost.h"
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index e999654..b2baa60 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -30,7 +30,6 @@
 #include "qom/cpu.h"
 #include "hw/i386/pc.h"
 #include "target-i386/cpu.h"
-#include "hw/timer/hpet.h"
 #include "hw/acpi/acpi-defs.h"
 #include "hw/acpi/acpi.h"
 #include "hw/acpi/cpu.h"
diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c
index 9eebb1a..1834d22 100644
--- a/hw/microblaze/boot.c
+++ b/hw/microblaze/boot.c
@@ -30,7 +30,6 @@
 #include "qemu/option.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
-#include "qemu-common.h"
 #include "sysemu/device_tree.h"
 #include "sysemu/sysemu.h"
 #include "hw/loader.h"
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index e90857e..61aa8eb 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -47,7 +47,6 @@
 #include "elf.h"
 #include "hw/timer/mc146818rtc.h"
 #include "hw/timer/i8254.h"
-#include "sysemu/block-backend.h"
 #include "sysemu/blockdev.h"
 #include "exec/address-spaces.h"
 #include "hw/sysbus.h"             /* SysBusDevice */
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index 92aa563..1f0c3e9 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -29,7 +29,6 @@
 #include "hw/isa/isa.h"
 #include "hw/nvram/fw_cfg.h"
 #include "hw/sysbus.h"
-#include "hw/boards.h"
 #include "trace.h"
 #include "qemu/error-report.h"
 #include "qemu/config-file.h"
diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
index 1cc598f..6ac187f 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -15,7 +15,6 @@
 #include "hw/pci/pci.h"
 #include "hw/pci/pci_bus.h"
 #include "hw/pci/pci_host.h"
-#include "hw/pci/pci_bus.h"
 #include "hw/pci/pci_bridge.h"
 #include "hw/i386/pc.h"
 #include "qemu/range.h"
diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c
index 4b2f07a..d01798f 100644
--- a/hw/ppc/ppc405_boards.c
+++ b/hw/ppc/ppc405_boards.c
@@ -37,7 +37,6 @@
 #include "qemu/log.h"
 #include "qemu/error-report.h"
 #include "hw/loader.h"
-#include "sysemu/block-backend.h"
 #include "sysemu/blockdev.h"
 #include "exec/address-spaces.h"
 
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 03e3803..42432d9 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -37,7 +37,6 @@
 #include "sysemu/block-backend.h"
 #include "sysemu/cpus.h"
 #include "sysemu/kvm.h"
-#include "sysemu/device_tree.h"
 #include "kvm_ppc.h"
 #include "migration/migration.h"
 #include "mmu-hash64.h"
diff --git a/hw/timer/grlib_gptimer.c b/hw/timer/grlib_gptimer.c
index 712d1ae..4ed96e9 100644
--- a/hw/timer/grlib_gptimer.c
+++ b/hw/timer/grlib_gptimer.c
@@ -26,7 +26,6 @@
 #include "hw/sysbus.h"
 #include "qemu/timer.h"
 #include "hw/ptimer.h"
-#include "qemu/timer.h"
 #include "qemu/main-loop.h"
 
 #include "trace.h"
diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
index 381e726..a6440fe 100644
--- a/hw/tpm/tpm_tis.c
+++ b/hw/tpm/tpm_tis.c
@@ -34,7 +34,6 @@
 #include "qapi/error.h"
 #include "qemu-common.h"
 #include "qemu/main-loop.h"
-#include "sysemu/tpm_backend.h"
 
 #define DEBUG_TIS 0
 
diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
index 31cd171..032078f 100644
--- a/hw/unicore32/puv3.c
+++ b/hw/unicore32/puv3.c
@@ -13,7 +13,6 @@
 #include "qapi/error.h"
 #include "qemu-common.h"
 #include "cpu.h"
-#include "qemu-common.h"
 #include "ui/console.h"
 #include "elf.h"
 #include "exec/address-spaces.h"
diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index 58d95ff..9cb0f50 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -17,7 +17,6 @@
 #include <sys/statvfs.h>
 #ifdef CONFIG_INOTIFY1
 #include <sys/inotify.h>
-#include "qapi/error.h"
 #include "qemu/main-loop.h"
 #endif
 
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index b16c448..9c42603 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -13,7 +13,6 @@
 #include "qemu/bitmap.h"
 #include "sysemu/sysemu.h"
 #include "hw/pci/pci.h"
-#include "hw/boards.h"
 #include "hw/compat.h"
 #include "hw/mem/pc-dimm.h"
 #include "hw/mem/nvdimm.h"
diff --git a/monitor.c b/monitor.c
index 8728dd9..b8773a5 100644
--- a/monitor.c
+++ b/monitor.c
@@ -59,7 +59,6 @@
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/json-parser.h"
 #include "qom/object_interfaces.h"
-#include "cpu.h"
 #include "trace.h"
 #include "trace/control.h"
 #include "monitor/hmp-target.h"
@@ -76,7 +75,6 @@
 #include "qapi/qmp-event.h"
 #include "qapi-event.h"
 #include "qmp-introspect.h"
-#include "sysemu/block-backend.h"
 #include "sysemu/qtest.h"
 #include "qemu/cutils.h"
 #include "qapi/qmp/dispatch.h"
diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c
index 3a3838a..e0249e2 100644
--- a/qemu-io-cmds.c
+++ b/qemu-io-cmds.c
@@ -18,7 +18,6 @@
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
 #include "qemu/timer.h"
-#include "sysemu/block-backend.h"
 #include "qemu/cutils.h"
 
 #define CMD_NOFILE_OK   0x01
diff --git a/qmp.c b/qmp.c
index b3ba9ef..f37ad7e 100644
--- a/qmp.c
+++ b/qmp.c
@@ -36,7 +36,6 @@
 #include "qom/object_interfaces.h"
 #include "hw/mem/pc-dimm.h"
 #include "hw/acpi/acpi_dev_interface.h"
-#include "qemu/uuid.h"
 
 NameInfo *qmp_query_name(Error **errp)
 {
diff --git a/scripts/clean-includes b/scripts/clean-includes
index 4412a55..4700e9d 100755
--- a/scripts/clean-includes
+++ b/scripts/clean-includes
@@ -14,15 +14,18 @@
 # the top-level directory.
 
 # Usage:
-#   clean-includes [--git subjectprefix] file ...
+#   clean-includes [--git subjectprefix] [--ignore-duphead] file ...
 # or
-#   clean-includes [--git subjectprefix] --all
+#   clean-includes [--git subjectprefix] [--ignore-duphead] --all
 #
 # If the --git subjectprefix option is given, then after making
 # the changes to the files this script will create a git commit
 # with the subject line "subjectprefix: Clean up includes"
 # and a boilerplate commit message.
 #
+# If --ignore-duphead option is used, then check for duplicate
+# header files will be skipped.
+#
 # Using --all will cause clean-includes to run on the whole source
 # tree (excluding certain directories which are known not to need
 # handling).
@@ -45,23 +48,36 @@
 
 
 GIT=no
+DUPHEAD=yes
 
 # Extended regular expression defining files to ignore when using --all
 XDIRREGEX='^(tests/tcg|tests/multiboot|pc-bios|disas/libvixl)'
 
-if [ $# -ne 0 ] && [ "$1" = "--git" ]; then
-    if [ $# -eq 1 ]; then
-        echo "--git option requires an argument"
-        exit 1
-    fi
-    GITSUBJ="$2"
-    GIT=yes
-    shift
-    shift
-fi
+while true
+do
+    case $1 in
+    "--git")
+         if [ $# -eq 1 ]; then
+             echo "--git option requires an argument"
+             exit 1
+         fi
+         GITSUBJ="$2"
+         GIT=yes
+         shift
+         shift
+         ;;
+    "--ignore-duphead")
+        DUPHEAD=no
+        shift
+        ;;
+    *)
+        break
+        ;;
+   esac
+done
 
 if [ $# -eq 0 ]; then
-    echo "Usage: clean-includes [--git subjectprefix] [--all | foo.c ...]"
+    echo "Usage: clean-includes [--git subjectprefix] [--ignore-duphead] [--all | foo.c ...]"
     echo "(modifies the files in place)"
     exit 1
 fi
@@ -154,6 +170,14 @@ for f in "$@"; do
 
 done
 
+if [ "$DUPHEAD" = "yes" ]; then
+    grep "^#include" $@ | sort | uniq -c | awk '{if ($1 > 1) print $0}'
+    if [ $? -eq 0 ]; then
+        echo "Found duplicate header file includes. Please check the above files manually."
+        exit 1
+    fi
+fi
+
 if [ "$GIT" = "yes" ]; then
     git add -- "$@"
     git commit --signoff -F - <<EOF
diff --git a/target-i386/machine.c b/target-i386/machine.c
index 71c0e4d..48037f1 100644
--- a/target-i386/machine.c
+++ b/target-i386/machine.c
@@ -7,10 +7,7 @@
 #include "hw/i386/pc.h"
 #include "hw/isa/isa.h"
 #include "migration/cpu.h"
-#include "exec/exec-all.h"
 
-#include "cpu.h"
-#include "exec/exec-all.h"
 #include "sysemu/kvm.h"
 
 #include "qemu/error-report.h"
diff --git a/target-mips/machine.c b/target-mips/machine.c
index a27f2f1..d20d948 100644
--- a/target-mips/machine.c
+++ b/target-mips/machine.c
@@ -2,7 +2,6 @@
 #include "qemu-common.h"
 #include "cpu.h"
 #include "hw/hw.h"
-#include "cpu.h"
 #include "migration/cpu.h"
 
 static int cpu_post_load(void *opaque, int version_id)
diff --git a/target-ppc/machine.c b/target-ppc/machine.c
index 4820f22..e43cb6c 100644
--- a/target-ppc/machine.c
+++ b/target-ppc/machine.c
@@ -8,7 +8,6 @@
 #include "helper_regs.h"
 #include "mmu-hash64.h"
 #include "migration/cpu.h"
-#include "exec/exec-all.h"
 
 static int cpu_load_old(QEMUFile *f, void *opaque, int version_id)
 {
diff --git a/target-ppc/mem_helper.c b/target-ppc/mem_helper.c
index 6548715..1ab8a6e 100644
--- a/target-ppc/mem_helper.c
+++ b/target-ppc/mem_helper.c
@@ -23,7 +23,6 @@
 #include "exec/helper-proto.h"
 
 #include "helper_regs.h"
-#include "exec/exec-all.h"
 #include "exec/cpu_ldst.h"
 
 //#define DEBUG_OP
diff --git a/target-sparc/machine.c b/target-sparc/machine.c
index 59c92f7..aea6397 100644
--- a/target-sparc/machine.c
+++ b/target-sparc/machine.c
@@ -6,10 +6,7 @@
 #include "hw/boards.h"
 #include "qemu/timer.h"
 
-#include "cpu.h"
-#include "exec/exec-all.h"
 #include "migration/cpu.h"
-#include "exec/exec-all.h"
 
 #ifdef TARGET_SPARC64
 static const VMStateDescription vmstate_cpu_timer = {
diff --git a/target-xtensa/translate.c b/target-xtensa/translate.c
index 4c1e487..fb0fa56 100644
--- a/target-xtensa/translate.c
+++ b/target-xtensa/translate.c
@@ -36,7 +36,6 @@
 #include "tcg-op.h"
 #include "qemu/log.h"
 #include "sysemu/sysemu.h"
-#include "exec/exec-all.h"
 #include "exec/cpu_ldst.h"
 #include "exec/semihost.h"
 
diff --git a/tests/crypto-tls-x509-helpers.h b/tests/crypto-tls-x509-helpers.h
index a8faa92..921341c 100644
--- a/tests/crypto-tls-x509-helpers.h
+++ b/tests/crypto-tls-x509-helpers.h
@@ -21,9 +21,6 @@
 #include <gnutls/gnutls.h>
 #include <gnutls/x509.h>
 
-#include <gnutls/gnutls.h>
-#include <gnutls/x509.h>
-
 #if !(defined WIN32) && \
     defined(CONFIG_TASN1) && \
     (LIBGNUTLS_VERSION_NUMBER >= 0x020600)
diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
index d7c48c5..4d85f88 100644
--- a/tests/vhost-user-test.c
+++ b/tests/vhost-user-test.c
@@ -20,8 +20,6 @@
 #include "libqos/pci-pc.h"
 #include "libqos/virtio-pci.h"
 
-#include "libqos/pci-pc.h"
-#include "libqos/virtio-pci.h"
 #include "libqos/malloc-pc.h"
 #include "hw/virtio/virtio-net.h"
 
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index 8ec99cc..67c6589 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -28,7 +28,6 @@
 
 #include "qemu/osdep.h"
 #include <termios.h>
-#include <termios.h>
 
 #include <glib/gprintf.h>
 
diff --git a/vl.c b/vl.c
index c657acd..1b7cfed 100644
--- a/vl.c
+++ b/vl.c
@@ -110,7 +110,6 @@ int main(int argc, char **argv)
 #include "trace.h"
 #include "trace/control.h"
 #include "qemu/queue.h"
-#include "sysemu/cpus.h"
 #include "sysemu/arch_init.h"
 
 #include "ui/qemu-spice.h"
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] script/clean-includes: added duplicate #include check
  2016-10-12 18:40 [Qemu-devel] [PATCH] script/clean-includes: added duplicate #include check Anand J
@ 2016-10-18  8:00 ` Anand J
  2016-10-18  8:21 ` Thomas Huth
  1 sibling, 0 replies; 3+ messages in thread
From: Anand J @ 2016-10-18  8:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Eric Blake, qemu-trivial

On Thu, Oct 13, 2016 at 12:10 AM, Anand J <anand.indukala@gmail.com> wrote:

> Added script to check duplicate #include entries. This check will scan and
> print the files in which duplicate #include entries are present.
>
> Script might output false postive entries as well. Such entries should
> not be removed. So if it finds any duplicate entries script will terminate
> with an exit status 1. Then each and every file should be checked manually
> and corrected if necessary.
>
> Added an additional option --ignore-duphead in the clean-includes
> script to disable this check if all the duplicate #includes are
> genuine. The check in enabled by default.
>
> NOTE: Removed some of the genuine duplicate entries in the code base.
>
> Signed-off-by: Anand J <anand.indukala@gmail.com>
> ---
>  accel.c                             |  1 -
>  cputlb.c                            |  1 -
>  gdbstub.c                           |  1 -
>  hw/i386/acpi-build.c                |  1 -
>  hw/microblaze/boot.c                |  1 -
>  hw/mips/mips_malta.c                |  1 -
>  hw/nvram/fw_cfg.c                   |  1 -
>  hw/pci-bridge/pci_expander_bridge.c |  1 -
>  hw/ppc/ppc405_boards.c              |  1 -
>  hw/ppc/spapr.c                      |  1 -
>  hw/timer/grlib_gptimer.c            |  1 -
>  hw/tpm/tpm_tis.c                    |  1 -
>  hw/unicore32/puv3.c                 |  1 -
>  hw/usb/dev-mtp.c                    |  1 -
>  include/hw/i386/pc.h                |  1 -
>  monitor.c                           |  2 --
>  qemu-io-cmds.c                      |  1 -
>  qmp.c                               |  1 -
>  scripts/clean-includes              | 50 +++++++++++++++++++++++++++---
> -------
>  target-i386/machine.c               |  3 ---
>  target-mips/machine.c               |  1 -
>  target-ppc/machine.c                |  1 -
>  target-ppc/mem_helper.c             |  1 -
>  target-sparc/machine.c              |  3 ---
>  target-xtensa/translate.c           |  1 -
>  tests/crypto-tls-x509-helpers.h     |  3 ---
>  tests/vhost-user-test.c             |  2 --
>  util/oslib-posix.c                  |  1 -
>  vl.c                                |  1 -
>  29 files changed, 37 insertions(+), 49 deletions(-)
>
> diff --git a/accel.c b/accel.c
> index 403eb5e..b5a4210 100644
> --- a/accel.c
> +++ b/accel.c
> @@ -25,7 +25,6 @@
>
>  #include "qemu/osdep.h"
>  #include "sysemu/accel.h"
> -#include "hw/boards.h"
>  #include "qemu-common.h"
>  #include "sysemu/arch_init.h"
>  #include "sysemu/sysemu.h"
> diff --git a/cputlb.c b/cputlb.c
> index 3c99c34..59b3969 100644
> --- a/cputlb.c
> +++ b/cputlb.c
> @@ -19,7 +19,6 @@
>
>  #include "qemu/osdep.h"
>  #include "cpu.h"
> -#include "exec/exec-all.h"
>  #include "exec/memory.h"
>  #include "exec/address-spaces.h"
>  #include "exec/cpu_ldst.h"
> diff --git a/gdbstub.c b/gdbstub.c
> index ecea8c4..67eb028 100644
> --- a/gdbstub.c
> +++ b/gdbstub.c
> @@ -31,7 +31,6 @@
>
>  #define MAX_PACKET_LENGTH 4096
>
> -#include "cpu.h"
>  #include "qemu/sockets.h"
>  #include "sysemu/kvm.h"
>  #include "exec/semihost.h"
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index e999654..b2baa60 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -30,7 +30,6 @@
>  #include "qom/cpu.h"
>  #include "hw/i386/pc.h"
>  #include "target-i386/cpu.h"
> -#include "hw/timer/hpet.h"
>  #include "hw/acpi/acpi-defs.h"
>  #include "hw/acpi/acpi.h"
>  #include "hw/acpi/cpu.h"
> diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c
> index 9eebb1a..1834d22 100644
> --- a/hw/microblaze/boot.c
> +++ b/hw/microblaze/boot.c
> @@ -30,7 +30,6 @@
>  #include "qemu/option.h"
>  #include "qemu/config-file.h"
>  #include "qemu/error-report.h"
> -#include "qemu-common.h"
>  #include "sysemu/device_tree.h"
>  #include "sysemu/sysemu.h"
>  #include "hw/loader.h"
> diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
> index e90857e..61aa8eb 100644
> --- a/hw/mips/mips_malta.c
> +++ b/hw/mips/mips_malta.c
> @@ -47,7 +47,6 @@
>  #include "elf.h"
>  #include "hw/timer/mc146818rtc.h"
>  #include "hw/timer/i8254.h"
> -#include "sysemu/block-backend.h"
>  #include "sysemu/blockdev.h"
>  #include "exec/address-spaces.h"
>  #include "hw/sysbus.h"             /* SysBusDevice */
> diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
> index 92aa563..1f0c3e9 100644
> --- a/hw/nvram/fw_cfg.c
> +++ b/hw/nvram/fw_cfg.c
> @@ -29,7 +29,6 @@
>  #include "hw/isa/isa.h"
>  #include "hw/nvram/fw_cfg.h"
>  #include "hw/sysbus.h"
> -#include "hw/boards.h"
>  #include "trace.h"
>  #include "qemu/error-report.h"
>  #include "qemu/config-file.h"
> diff --git a/hw/pci-bridge/pci_expander_bridge.c
> b/hw/pci-bridge/pci_expander_bridge.c
> index 1cc598f..6ac187f 100644
> --- a/hw/pci-bridge/pci_expander_bridge.c
> +++ b/hw/pci-bridge/pci_expander_bridge.c
> @@ -15,7 +15,6 @@
>  #include "hw/pci/pci.h"
>  #include "hw/pci/pci_bus.h"
>  #include "hw/pci/pci_host.h"
> -#include "hw/pci/pci_bus.h"
>  #include "hw/pci/pci_bridge.h"
>  #include "hw/i386/pc.h"
>  #include "qemu/range.h"
> diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c
> index 4b2f07a..d01798f 100644
> --- a/hw/ppc/ppc405_boards.c
> +++ b/hw/ppc/ppc405_boards.c
> @@ -37,7 +37,6 @@
>  #include "qemu/log.h"
>  #include "qemu/error-report.h"
>  #include "hw/loader.h"
> -#include "sysemu/block-backend.h"
>  #include "sysemu/blockdev.h"
>  #include "exec/address-spaces.h"
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 03e3803..42432d9 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -37,7 +37,6 @@
>  #include "sysemu/block-backend.h"
>  #include "sysemu/cpus.h"
>  #include "sysemu/kvm.h"
> -#include "sysemu/device_tree.h"
>  #include "kvm_ppc.h"
>  #include "migration/migration.h"
>  #include "mmu-hash64.h"
> diff --git a/hw/timer/grlib_gptimer.c b/hw/timer/grlib_gptimer.c
> index 712d1ae..4ed96e9 100644
> --- a/hw/timer/grlib_gptimer.c
> +++ b/hw/timer/grlib_gptimer.c
> @@ -26,7 +26,6 @@
>  #include "hw/sysbus.h"
>  #include "qemu/timer.h"
>  #include "hw/ptimer.h"
> -#include "qemu/timer.h"
>  #include "qemu/main-loop.h"
>
>  #include "trace.h"
> diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
> index 381e726..a6440fe 100644
> --- a/hw/tpm/tpm_tis.c
> +++ b/hw/tpm/tpm_tis.c
> @@ -34,7 +34,6 @@
>  #include "qapi/error.h"
>  #include "qemu-common.h"
>  #include "qemu/main-loop.h"
> -#include "sysemu/tpm_backend.h"
>
>  #define DEBUG_TIS 0
>
> diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
> index 31cd171..032078f 100644
> --- a/hw/unicore32/puv3.c
> +++ b/hw/unicore32/puv3.c
> @@ -13,7 +13,6 @@
>  #include "qapi/error.h"
>  #include "qemu-common.h"
>  #include "cpu.h"
> -#include "qemu-common.h"
>  #include "ui/console.h"
>  #include "elf.h"
>  #include "exec/address-spaces.h"
> diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
> index 58d95ff..9cb0f50 100644
> --- a/hw/usb/dev-mtp.c
> +++ b/hw/usb/dev-mtp.c
> @@ -17,7 +17,6 @@
>  #include <sys/statvfs.h>
>  #ifdef CONFIG_INOTIFY1
>  #include <sys/inotify.h>
> -#include "qapi/error.h"
>  #include "qemu/main-loop.h"
>  #endif
>
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index b16c448..9c42603 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -13,7 +13,6 @@
>  #include "qemu/bitmap.h"
>  #include "sysemu/sysemu.h"
>  #include "hw/pci/pci.h"
> -#include "hw/boards.h"
>  #include "hw/compat.h"
>  #include "hw/mem/pc-dimm.h"
>  #include "hw/mem/nvdimm.h"
> diff --git a/monitor.c b/monitor.c
> index 8728dd9..b8773a5 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -59,7 +59,6 @@
>  #include "qapi/qmp/json-streamer.h"
>  #include "qapi/qmp/json-parser.h"
>  #include "qom/object_interfaces.h"
> -#include "cpu.h"
>  #include "trace.h"
>  #include "trace/control.h"
>  #include "monitor/hmp-target.h"
> @@ -76,7 +75,6 @@
>  #include "qapi/qmp-event.h"
>  #include "qapi-event.h"
>  #include "qmp-introspect.h"
> -#include "sysemu/block-backend.h"
>  #include "sysemu/qtest.h"
>  #include "qemu/cutils.h"
>  #include "qapi/qmp/dispatch.h"
> diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c
> index 3a3838a..e0249e2 100644
> --- a/qemu-io-cmds.c
> +++ b/qemu-io-cmds.c
> @@ -18,7 +18,6 @@
>  #include "qemu/error-report.h"
>  #include "qemu/main-loop.h"
>  #include "qemu/timer.h"
> -#include "sysemu/block-backend.h"
>  #include "qemu/cutils.h"
>
>  #define CMD_NOFILE_OK   0x01
> diff --git a/qmp.c b/qmp.c
> index b3ba9ef..f37ad7e 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -36,7 +36,6 @@
>  #include "qom/object_interfaces.h"
>  #include "hw/mem/pc-dimm.h"
>  #include "hw/acpi/acpi_dev_interface.h"
> -#include "qemu/uuid.h"
>
>  NameInfo *qmp_query_name(Error **errp)
>  {
> diff --git a/scripts/clean-includes b/scripts/clean-includes
> index 4412a55..4700e9d 100755
> --- a/scripts/clean-includes
> +++ b/scripts/clean-includes
> @@ -14,15 +14,18 @@
>  # the top-level directory.
>
>  # Usage:
> -#   clean-includes [--git subjectprefix] file ...
> +#   clean-includes [--git subjectprefix] [--ignore-duphead] file ...
>  # or
> -#   clean-includes [--git subjectprefix] --all
> +#   clean-includes [--git subjectprefix] [--ignore-duphead] --all
>  #
>  # If the --git subjectprefix option is given, then after making
>  # the changes to the files this script will create a git commit
>  # with the subject line "subjectprefix: Clean up includes"
>  # and a boilerplate commit message.
>  #
> +# If --ignore-duphead option is used, then check for duplicate
> +# header files will be skipped.
> +#
>  # Using --all will cause clean-includes to run on the whole source
>  # tree (excluding certain directories which are known not to need
>  # handling).
> @@ -45,23 +48,36 @@
>
>
>  GIT=no
> +DUPHEAD=yes
>
>  # Extended regular expression defining files to ignore when using --all
>  XDIRREGEX='^(tests/tcg|tests/multiboot|pc-bios|disas/libvixl)'
>
> -if [ $# -ne 0 ] && [ "$1" = "--git" ]; then
> -    if [ $# -eq 1 ]; then
> -        echo "--git option requires an argument"
> -        exit 1
> -    fi
> -    GITSUBJ="$2"
> -    GIT=yes
> -    shift
> -    shift
> -fi
> +while true
> +do
> +    case $1 in
> +    "--git")
> +         if [ $# -eq 1 ]; then
> +             echo "--git option requires an argument"
> +             exit 1
> +         fi
> +         GITSUBJ="$2"
> +         GIT=yes
> +         shift
> +         shift
> +         ;;
> +    "--ignore-duphead")
> +        DUPHEAD=no
> +        shift
> +        ;;
> +    *)
> +        break
> +        ;;
> +   esac
> +done
>
>  if [ $# -eq 0 ]; then
> -    echo "Usage: clean-includes [--git subjectprefix] [--all | foo.c ...]"
> +    echo "Usage: clean-includes [--git subjectprefix] [--ignore-duphead]
> [--all | foo.c ...]"
>      echo "(modifies the files in place)"
>      exit 1
>  fi
> @@ -154,6 +170,14 @@ for f in "$@"; do
>
>  done
>
> +if [ "$DUPHEAD" = "yes" ]; then
> +    grep "^#include" $@ | sort | uniq -c | awk '{if ($1 > 1) print $0}'
> +    if [ $? -eq 0 ]; then
> +        echo "Found duplicate header file includes. Please check the
> above files manually."
> +        exit 1
> +    fi
> +fi
> +
>  if [ "$GIT" = "yes" ]; then
>      git add -- "$@"
>      git commit --signoff -F - <<EOF
> diff --git a/target-i386/machine.c b/target-i386/machine.c
> index 71c0e4d..48037f1 100644
> --- a/target-i386/machine.c
> +++ b/target-i386/machine.c
> @@ -7,10 +7,7 @@
>  #include "hw/i386/pc.h"
>  #include "hw/isa/isa.h"
>  #include "migration/cpu.h"
> -#include "exec/exec-all.h"
>
> -#include "cpu.h"
> -#include "exec/exec-all.h"
>  #include "sysemu/kvm.h"
>
>  #include "qemu/error-report.h"
> diff --git a/target-mips/machine.c b/target-mips/machine.c
> index a27f2f1..d20d948 100644
> --- a/target-mips/machine.c
> +++ b/target-mips/machine.c
> @@ -2,7 +2,6 @@
>  #include "qemu-common.h"
>  #include "cpu.h"
>  #include "hw/hw.h"
> -#include "cpu.h"
>  #include "migration/cpu.h"
>
>  static int cpu_post_load(void *opaque, int version_id)
> diff --git a/target-ppc/machine.c b/target-ppc/machine.c
> index 4820f22..e43cb6c 100644
> --- a/target-ppc/machine.c
> +++ b/target-ppc/machine.c
> @@ -8,7 +8,6 @@
>  #include "helper_regs.h"
>  #include "mmu-hash64.h"
>  #include "migration/cpu.h"
> -#include "exec/exec-all.h"
>
>  static int cpu_load_old(QEMUFile *f, void *opaque, int version_id)
>  {
> diff --git a/target-ppc/mem_helper.c b/target-ppc/mem_helper.c
> index 6548715..1ab8a6e 100644
> --- a/target-ppc/mem_helper.c
> +++ b/target-ppc/mem_helper.c
> @@ -23,7 +23,6 @@
>  #include "exec/helper-proto.h"
>
>  #include "helper_regs.h"
> -#include "exec/exec-all.h"
>  #include "exec/cpu_ldst.h"
>
>  //#define DEBUG_OP
> diff --git a/target-sparc/machine.c b/target-sparc/machine.c
> index 59c92f7..aea6397 100644
> --- a/target-sparc/machine.c
> +++ b/target-sparc/machine.c
> @@ -6,10 +6,7 @@
>  #include "hw/boards.h"
>  #include "qemu/timer.h"
>
> -#include "cpu.h"
> -#include "exec/exec-all.h"
>  #include "migration/cpu.h"
> -#include "exec/exec-all.h"
>
>  #ifdef TARGET_SPARC64
>  static const VMStateDescription vmstate_cpu_timer = {
> diff --git a/target-xtensa/translate.c b/target-xtensa/translate.c
> index 4c1e487..fb0fa56 100644
> --- a/target-xtensa/translate.c
> +++ b/target-xtensa/translate.c
> @@ -36,7 +36,6 @@
>  #include "tcg-op.h"
>  #include "qemu/log.h"
>  #include "sysemu/sysemu.h"
> -#include "exec/exec-all.h"
>  #include "exec/cpu_ldst.h"
>  #include "exec/semihost.h"
>
> diff --git a/tests/crypto-tls-x509-helpers.h b/tests/crypto-tls-x509-
> helpers.h
> index a8faa92..921341c 100644
> --- a/tests/crypto-tls-x509-helpers.h
> +++ b/tests/crypto-tls-x509-helpers.h
> @@ -21,9 +21,6 @@
>  #include <gnutls/gnutls.h>
>  #include <gnutls/x509.h>
>
> -#include <gnutls/gnutls.h>
> -#include <gnutls/x509.h>
> -
>  #if !(defined WIN32) && \
>      defined(CONFIG_TASN1) && \
>      (LIBGNUTLS_VERSION_NUMBER >= 0x020600)
> diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
> index d7c48c5..4d85f88 100644
> --- a/tests/vhost-user-test.c
> +++ b/tests/vhost-user-test.c
> @@ -20,8 +20,6 @@
>  #include "libqos/pci-pc.h"
>  #include "libqos/virtio-pci.h"
>
> -#include "libqos/pci-pc.h"
> -#include "libqos/virtio-pci.h"
>  #include "libqos/malloc-pc.h"
>  #include "hw/virtio/virtio-net.h"
>
> diff --git a/util/oslib-posix.c b/util/oslib-posix.c
> index 8ec99cc..67c6589 100644
> --- a/util/oslib-posix.c
> +++ b/util/oslib-posix.c
> @@ -28,7 +28,6 @@
>
>  #include "qemu/osdep.h"
>  #include <termios.h>
> -#include <termios.h>
>
>  #include <glib/gprintf.h>
>
> diff --git a/vl.c b/vl.c
> index c657acd..1b7cfed 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -110,7 +110,6 @@ int main(int argc, char **argv)
>  #include "trace.h"
>  #include "trace/control.h"
>  #include "qemu/queue.h"
> -#include "sysemu/cpus.h"
>  #include "sysemu/arch_init.h"
>
>  #include "ui/qemu-spice.h"
> --
> 2.7.4
>
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] script/clean-includes: added duplicate #include check
  2016-10-12 18:40 [Qemu-devel] [PATCH] script/clean-includes: added duplicate #include check Anand J
  2016-10-18  8:00 ` Anand J
@ 2016-10-18  8:21 ` Thomas Huth
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Huth @ 2016-10-18  8:21 UTC (permalink / raw)
  To: Anand J, qemu-devel, Markus Armbruster

On 12.10.2016 20:40, Anand J wrote:
> Added script to check duplicate #include entries. This check will scan and
> print the files in which duplicate #include entries are present.
> 
> Script might output false postive entries as well. Such entries should
> not be removed. So if it finds any duplicate entries script will terminate
> with an exit status 1. Then each and every file should be checked manually
> and corrected if necessary.
> 
> Added an additional option --ignore-duphead in the clean-includes
> script to disable this check if all the duplicate #includes are
> genuine. The check in enabled by default.

Hmm, maybe it would be better to do it the other way round? Do not check
this by default since there are files that need to include a header
twice, and add a "--check-duphead" option to enable this check?

> NOTE: Removed some of the genuine duplicate entries in the code base.

Could you please split this patch into two parts? One patch that changes
the clean-includes script, and one that removes the superfluous
"#include" statements? That would help to make this patch more reviewable...

> diff --git a/accel.c b/accel.c
> index 403eb5e..b5a4210 100644
> --- a/accel.c
> +++ b/accel.c
> @@ -25,7 +25,6 @@
>  
>  #include "qemu/osdep.h"
>  #include "sysemu/accel.h"
> -#include "hw/boards.h"
>  #include "qemu-common.h"
>  #include "sysemu/arch_init.h"
>  #include "sysemu/sysemu.h"

Since the include order still matters in some files, I think it would be
better if you'd always remove the second include statement, not the
first one.

 Thomas

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-10-18  8:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-12 18:40 [Qemu-devel] [PATCH] script/clean-includes: added duplicate #include check Anand J
2016-10-18  8:00 ` Anand J
2016-10-18  8:21 ` Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).