disas: avoid including everything in headers compiled from C++
commit1e13c01d2a4eadb9c498caa809a21e3b5672b411
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 7 Jul 2016 12:07:33 +0000 (7 14:07 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 12 Jul 2016 16:31:27 +0000 (12 18:31 +0200)
tree4e914a5525bfdb62b935477b73aee762c98b77f9
parenta942d8fa01f65279cdc135f4294db611bbc088ef
disas: avoid including everything in headers compiled from C++

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