From 53ac3496d8c460e2517d71b10f1525cdf316d3d5 Mon Sep 17 00:00:00 2001 From: Florian Krohm Date: Sun, 30 Sep 2012 20:30:17 +0000 Subject: [PATCH] Make header files compilable by itself to get two benefits: - never have to worry about order of inclusion - never have to figure out hidden dependencies in order to be able to include a file git-svn-id: svn://svn.valgrind.org/vex/trunk@2546 --- VEX/priv/guest_amd64_defs.h | 4 ++++ VEX/priv/guest_arm_defs.h | 2 ++ VEX/priv/guest_generic_bb_to_IR.h | 3 +++ VEX/priv/guest_mips_defs.h | 3 +++ VEX/priv/guest_ppc_defs.h | 4 ++++ VEX/priv/guest_ppc_toIR.c | 1 + VEX/priv/guest_s390_defs.h | 2 -- VEX/priv/guest_s390_toIR.c | 2 +- VEX/priv/guest_x86_defs.h | 4 ++++ VEX/priv/host_amd64_defs.h | 3 +++ VEX/priv/host_arm_defs.h | 4 ++++ VEX/priv/host_mips_defs.h | 4 ++++ VEX/priv/host_ppc_defs.h | 4 ++++ VEX/priv/host_s390_defs.h | 1 - VEX/priv/host_x86_defs.h | 3 +++ VEX/pub/libvex_emnote.h | 1 + VEX/pub/libvex_guest_amd64.h | 1 - VEX/pub/libvex_guest_arm.h | 1 - VEX/pub/libvex_guest_mips32.h | 1 - VEX/pub/libvex_guest_ppc32.h | 1 - VEX/pub/libvex_guest_ppc64.h | 1 - VEX/pub/libvex_guest_s390x.h | 1 - VEX/pub/libvex_guest_x86.h | 1 - 23 files changed, 41 insertions(+), 11 deletions(-) diff --git a/VEX/priv/guest_amd64_defs.h b/VEX/priv/guest_amd64_defs.h index 6ad81d221b..f44c6f89ea 100644 --- a/VEX/priv/guest_amd64_defs.h +++ b/VEX/priv/guest_amd64_defs.h @@ -38,6 +38,10 @@ #ifndef __VEX_GUEST_AMD64_DEFS_H #define __VEX_GUEST_AMD64_DEFS_H +#include "libvex_basictypes.h" +#include "libvex_emnote.h" // VexEmNote +#include "libvex_guest_amd64.h" // VexGuestAMD64State +#include "guest_generic_bb_to_IR.h" // DisResult /*---------------------------------------------------------*/ /*--- amd64 to IR conversion ---*/ diff --git a/VEX/priv/guest_arm_defs.h b/VEX/priv/guest_arm_defs.h index 14a4cb8b69..1325991dea 100644 --- a/VEX/priv/guest_arm_defs.h +++ b/VEX/priv/guest_arm_defs.h @@ -32,6 +32,8 @@ #ifndef __VEX_GUEST_ARM_DEFS_H #define __VEX_GUEST_ARM_DEFS_H +#include "libvex_basictypes.h" +#include "guest_generic_bb_to_IR.h" // DisResult /*---------------------------------------------------------*/ /*--- arm to IR conversion ---*/ diff --git a/VEX/priv/guest_generic_bb_to_IR.h b/VEX/priv/guest_generic_bb_to_IR.h index 6f865c0e6c..13cac1f219 100644 --- a/VEX/priv/guest_generic_bb_to_IR.h +++ b/VEX/priv/guest_generic_bb_to_IR.h @@ -36,6 +36,9 @@ #ifndef __VEX_GUEST_GENERIC_BB_TO_IR_H #define __VEX_GUEST_GENERIC_BB_TO_IR_H +#include "libvex_basictypes.h" +#include "libvex_ir.h" // IRJumpKind +#include "libvex.h" // VexArch /* This defines stuff needed by the guest insn disassemblers. It's a bit circular; is imported by diff --git a/VEX/priv/guest_mips_defs.h b/VEX/priv/guest_mips_defs.h index afb4f904c6..8977f2ecc9 100644 --- a/VEX/priv/guest_mips_defs.h +++ b/VEX/priv/guest_mips_defs.h @@ -33,6 +33,9 @@ #ifndef __VEX_GUEST_MIPS_DEFS_H #define __VEX_GUEST_MIPS_DEFS_H +#include "libvex_basictypes.h" +#include "guest_generic_bb_to_IR.h" // DisResult + /*---------------------------------------------------------*/ /*--- mips to IR conversion ---*/ /*---------------------------------------------------------*/ diff --git a/VEX/priv/guest_ppc_defs.h b/VEX/priv/guest_ppc_defs.h index 7433298ef9..7ce6cf562b 100644 --- a/VEX/priv/guest_ppc_defs.h +++ b/VEX/priv/guest_ppc_defs.h @@ -39,6 +39,10 @@ #ifndef __VEX_GUEST_PPC_DEFS_H #define __VEX_GUEST_PPC_DEFS_H +#include "libvex_basictypes.h" +#include "libvex_guest_ppc32.h" // VexGuestPPC32State +#include "libvex_guest_ppc64.h" // VexGuestPPC64State +#include "guest_generic_bb_to_IR.h" // DisResult /*---------------------------------------------------------*/ /*--- ppc to IR conversion ---*/ diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c index 2a768013cf..f7d8d0f7a7 100644 --- a/VEX/priv/guest_ppc_toIR.c +++ b/VEX/priv/guest_ppc_toIR.c @@ -128,6 +128,7 @@ #include "libvex_basictypes.h" #include "libvex_ir.h" #include "libvex.h" +#include "libvex_emnote.h" #include "libvex_guest_ppc32.h" #include "libvex_guest_ppc64.h" diff --git a/VEX/priv/guest_s390_defs.h b/VEX/priv/guest_s390_defs.h index cc13eb74b7..de59f95746 100644 --- a/VEX/priv/guest_s390_defs.h +++ b/VEX/priv/guest_s390_defs.h @@ -34,8 +34,6 @@ #define __VEX_GUEST_S390_DEFS_H #include "libvex_basictypes.h" // offsetof -#include "libvex_ir.h" // IRSB (needed by bb_to_IR.h) -#include "libvex.h" // VexArch (needed by bb_to_IR.h) #include "guest_generic_bb_to_IR.h" // DisResult #include "libvex_guest_s390x.h" // VexGuestS390XState diff --git a/VEX/priv/guest_s390_toIR.c b/VEX/priv/guest_s390_toIR.c index 4ea8bb8bc8..09b09b3f5e 100644 --- a/VEX/priv/guest_s390_toIR.c +++ b/VEX/priv/guest_s390_toIR.c @@ -34,7 +34,7 @@ #include "libvex_basictypes.h" #include "libvex_ir.h" -#include "libvex.h" /* needed for bb_to_IR.h */ +#include "libvex_emnote.h" #include "libvex_s390x_common.h" #include "main_util.h" /* vassert */ #include "main_globals.h" /* vex_traceflags */ diff --git a/VEX/priv/guest_x86_defs.h b/VEX/priv/guest_x86_defs.h index 54c2a0f11a..d982612e27 100644 --- a/VEX/priv/guest_x86_defs.h +++ b/VEX/priv/guest_x86_defs.h @@ -38,6 +38,10 @@ #ifndef __VEX_GUEST_X86_DEFS_H #define __VEX_GUEST_X86_DEFS_H +#include "libvex_basictypes.h" +#include "libvex_guest_x86.h" // VexGuestX86State +#include "libvex_emnote.h" // VexEmNote +#include "guest_generic_bb_to_IR.h" // DisResult /*---------------------------------------------------------*/ /*--- x86 to IR conversion ---*/ diff --git a/VEX/priv/host_amd64_defs.h b/VEX/priv/host_amd64_defs.h index ad13cfad0b..0b7cacc166 100644 --- a/VEX/priv/host_amd64_defs.h +++ b/VEX/priv/host_amd64_defs.h @@ -36,6 +36,9 @@ #ifndef __VEX_HOST_AMD64_DEFS_H #define __VEX_HOST_AMD64_DEFS_H +#include "libvex_basictypes.h" +#include "libvex.h" // VexArch +#include "host_generic_regs.h" // HReg /* --------- Registers. --------- */ diff --git a/VEX/priv/host_arm_defs.h b/VEX/priv/host_arm_defs.h index 91a6757c59..bcd6aca42f 100644 --- a/VEX/priv/host_arm_defs.h +++ b/VEX/priv/host_arm_defs.h @@ -30,6 +30,10 @@ #ifndef __VEX_HOST_ARM_DEFS_H #define __VEX_HOST_ARM_DEFS_H +#include "libvex_basictypes.h" +#include "libvex.h" // VexArch +#include "host_generic_regs.h" // HReg + extern UInt arm_hwcaps; diff --git a/VEX/priv/host_mips_defs.h b/VEX/priv/host_mips_defs.h index 1431ff5624..9c2278eb62 100644 --- a/VEX/priv/host_mips_defs.h +++ b/VEX/priv/host_mips_defs.h @@ -31,6 +31,10 @@ #ifndef __VEX_HOST_MIPS_DEFS_H #define __VEX_HOST_MIPS_DEFS_H +#include "libvex_basictypes.h" +#include "libvex.h" // VexArch +#include "host_generic_regs.h" // HReg + /* Num registers used for function calls */ #define MIPS_N_REGPARMS 4 diff --git a/VEX/priv/host_ppc_defs.h b/VEX/priv/host_ppc_defs.h index 5be5c353d6..58ea3a779c 100644 --- a/VEX/priv/host_ppc_defs.h +++ b/VEX/priv/host_ppc_defs.h @@ -36,6 +36,10 @@ #ifndef __VEX_HOST_PPC_DEFS_H #define __VEX_HOST_PPC_DEFS_H +#include "libvex_basictypes.h" +#include "libvex.h" // VexArch +#include "host_generic_regs.h" // HReg + /* Num registers used for function calls */ #define PPC_N_REGPARMS 8 diff --git a/VEX/priv/host_s390_defs.h b/VEX/priv/host_s390_defs.h index 72275dafd2..7ce0793759 100644 --- a/VEX/priv/host_s390_defs.h +++ b/VEX/priv/host_s390_defs.h @@ -35,7 +35,6 @@ #include "libvex_basictypes.h" /* Bool */ #include "libvex.h" /* VexArchInfo */ -#include "main_util.h" /* needed for host_generic_regs.h */ #include "host_generic_regs.h" /* HReg */ /* --------- Registers --------- */ diff --git a/VEX/priv/host_x86_defs.h b/VEX/priv/host_x86_defs.h index a5f281cc0c..8194291681 100644 --- a/VEX/priv/host_x86_defs.h +++ b/VEX/priv/host_x86_defs.h @@ -36,6 +36,9 @@ #ifndef __VEX_HOST_X86_DEFS_H #define __VEX_HOST_X86_DEFS_H +#include "libvex_basictypes.h" +#include "libvex.h" // VexArch +#include "host_generic_regs.h" // HReg /* --------- Registers. --------- */ diff --git a/VEX/pub/libvex_emnote.h b/VEX/pub/libvex_emnote.h index a817eb7f06..abcedc1a8d 100644 --- a/VEX/pub/libvex_emnote.h +++ b/VEX/pub/libvex_emnote.h @@ -36,6 +36,7 @@ #ifndef __LIBVEX_EMNOTE_H #define __LIBVEX_EMNOTE_H +#include "libvex_basictypes.h" /* VEX can sometimes generate code which returns to the dispatcher with the guest state pointer set to VEX_TRC_JMP_EMWARN or diff --git a/VEX/pub/libvex_guest_amd64.h b/VEX/pub/libvex_guest_amd64.h index 9c12e885d2..b8fef94dc1 100644 --- a/VEX/pub/libvex_guest_amd64.h +++ b/VEX/pub/libvex_guest_amd64.h @@ -37,7 +37,6 @@ #define __LIBVEX_PUB_GUEST_AMD64_H #include "libvex_basictypes.h" -#include "libvex_emnote.h" /*---------------------------------------------------------------*/ diff --git a/VEX/pub/libvex_guest_arm.h b/VEX/pub/libvex_guest_arm.h index a0d492445c..e837666f49 100644 --- a/VEX/pub/libvex_guest_arm.h +++ b/VEX/pub/libvex_guest_arm.h @@ -32,7 +32,6 @@ #define __LIBVEX_PUB_GUEST_ARM_H #include "libvex_basictypes.h" -#include "libvex_emnote.h" /*---------------------------------------------------------------*/ diff --git a/VEX/pub/libvex_guest_mips32.h b/VEX/pub/libvex_guest_mips32.h index eac4657083..02c87ea241 100644 --- a/VEX/pub/libvex_guest_mips32.h +++ b/VEX/pub/libvex_guest_mips32.h @@ -32,7 +32,6 @@ #define __LIBVEX_PUB_GUEST_MIPS32_H #include "libvex_basictypes.h" -#include "libvex_emnote.h" /*---------------------------------------------------------------*/ diff --git a/VEX/pub/libvex_guest_ppc32.h b/VEX/pub/libvex_guest_ppc32.h index 3f615fec48..c69101722a 100644 --- a/VEX/pub/libvex_guest_ppc32.h +++ b/VEX/pub/libvex_guest_ppc32.h @@ -37,7 +37,6 @@ #define __LIBVEX_PUB_GUEST_PPC32_H #include "libvex_basictypes.h" -#include "libvex_emnote.h" /*---------------------------------------------------------------*/ diff --git a/VEX/pub/libvex_guest_ppc64.h b/VEX/pub/libvex_guest_ppc64.h index 31c4b62a4e..b05b5b15e2 100644 --- a/VEX/pub/libvex_guest_ppc64.h +++ b/VEX/pub/libvex_guest_ppc64.h @@ -37,7 +37,6 @@ #define __LIBVEX_PUB_GUEST_PPC64_H #include "libvex_basictypes.h" -#include "libvex_emnote.h" /* volatile == caller-saved (not preserved across function calls) diff --git a/VEX/pub/libvex_guest_s390x.h b/VEX/pub/libvex_guest_s390x.h index 5d121e1ef3..ae86aa3bbb 100644 --- a/VEX/pub/libvex_guest_s390x.h +++ b/VEX/pub/libvex_guest_s390x.h @@ -32,7 +32,6 @@ #define __LIBVEX_PUB_GUEST_S390X_H #include "libvex_basictypes.h" -#include "libvex_emnote.h" /*------------------------------------------------------------*/ /*--- Vex's representation of the s390 CPU state. ---*/ diff --git a/VEX/pub/libvex_guest_x86.h b/VEX/pub/libvex_guest_x86.h index 3dcbc57e86..d46d67b098 100644 --- a/VEX/pub/libvex_guest_x86.h +++ b/VEX/pub/libvex_guest_x86.h @@ -37,7 +37,6 @@ #define __LIBVEX_PUB_GUEST_X86_H #include "libvex_basictypes.h" -#include "libvex_emnote.h" /*---------------------------------------------------------------*/ -- 2.47.2