qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-6.0? 2/6] osdep: protect qemu/osdep.h with extern "C"


From: Richard Henderson
Subject: Re: [PATCH for-6.0? 2/6] osdep: protect qemu/osdep.h with extern "C"
Date: Fri, 16 Apr 2021 10:17:09 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1

On 4/16/21 6:55 AM, Peter Maydell wrote:
From: Paolo Bonzini<pbonzini@redhat.com>

System headers may include templates if compiled with a C++ compiler,
which cause the compiler to complain if qemu/osdep.h is included
within a C++ source file's 'extern "C"' block.  Add
an 'extern "C"' block directly to qemu/osdep.h, so that
system headers can be kept out of it.

There is a stray declaration early in qemu/osdep.h, which needs
to be special cased.  Add a definition in qemu/compiler.h to
make it look nice.

config-host.h, CONFIG_TARGET, exec/poison.h and qemu/compiler.h
are included outside the 'extern "C"' block; that is not
an issue because they consist entirely of preprocessor directives.

This allows us to move the include of osdep.h in our two C++
source files outside the extern "C" block they were previously
using for it, which in turn means that they compile successfully
against newer versions of glib which insist that glib.h is
*not*  inside an extern "C" block.

Signed-off-by: Paolo Bonzini<pbonzini@redhat.com>
Reviewed-by: Daniel P. Berrangé<berrange@redhat.com>
[PMM: Moved disas/arm-a64.cc osdep.h include out of its extern "C" block;
  explained in commit message why we're doing this]
Signed-off-by: Peter Maydell<peter.maydell@linaro.org>
---
  include/qemu/compiler.h |  6 ++++++
  include/qemu/osdep.h    | 10 +++++++++-
  disas/arm-a64.cc        |  2 +-
  disas/nanomips.cpp      |  2 +-
  4 files changed, 17 insertions(+), 3 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]