diff mbox

disas: avoid including everything in headers compiled from C++

Message ID 1467893404-10521-1-git-send-email-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paolo Bonzini July 7, 2016, 12:10 p.m. UTC
disas/arm-a64.cc is careful to include only the bare minimum that
it needs---qemu/osdep.h and disas/bfd.h.  Unfortunately, disas/bfd.h
then includes qemu-common.h, which brings in qemu/option.h and from
there we get the kitchen sink.

This causes problems because for example QEMU's atomic macros
conflict with C++ atomic types.  But really all that bfd.h needs
is the fprintf_function typedef, so replace the inclusion of
qemu-common.h with qemu/fprintf-fn.h.

Reported-by: Sean Bruno <sbruno@freebsd.org>
Tested-by: Sean Bruno <sbruno@freebsd.org>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 include/disas/bfd.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Markus Armbruster July 7, 2016, 1:19 p.m. UTC | #1
Paolo Bonzini <pbonzini@redhat.com> writes:

> disas/arm-a64.cc is careful to include only the bare minimum that
> it needs---qemu/osdep.h and disas/bfd.h.  Unfortunately, disas/bfd.h
> then includes qemu-common.h, which brings in qemu/option.h and from
> there we get the kitchen sink.
>
> This causes problems because for example QEMU's atomic macros
> conflict with C++ atomic types.  But really all that bfd.h needs
> is the fprintf_function typedef, so replace the inclusion of
> qemu-common.h with qemu/fprintf-fn.h.
>
> Reported-by: Sean Bruno <sbruno@freebsd.org>
> Tested-by: Sean Bruno <sbruno@freebsd.org>
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Cc: Markus Armbruster <armbru@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  include/disas/bfd.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/disas/bfd.h b/include/disas/bfd.h
> index a112e9c..a87b8a1 100644
> --- a/include/disas/bfd.h
> +++ b/include/disas/bfd.h
> @@ -9,7 +9,7 @@
>  #ifndef DIS_ASM_H
>  #define DIS_ASM_H
>  
> -#include "qemu-common.h"
> +#include "qemu/fprintf-fn.h"
>  
>  typedef void *PTR;
>  typedef uint64_t bfd_vma;

I'm sitting on a series that purges qemu-common.h from headers.  It
makes the same change.  I haven't posted it because I want to rebase it
onto the "make check-headers" series first.  Anyway,

Reviewed-by: Markus Armbruster <armbru@redhat.com>
diff mbox

Patch

diff --git a/include/disas/bfd.h b/include/disas/bfd.h
index a112e9c..a87b8a1 100644
--- a/include/disas/bfd.h
+++ b/include/disas/bfd.h
@@ -9,7 +9,7 @@ 
 #ifndef DIS_ASM_H
 #define DIS_ASM_H
 
-#include "qemu-common.h"
+#include "qemu/fprintf-fn.h"
 
 typedef void *PTR;
 typedef uint64_t bfd_vma;