[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] disas/arm-a64.cc: Fix build error
From: |
Miroslav Rezanina |
Subject: |
Re: [PATCH 1/2] disas/arm-a64.cc: Fix build error |
Date: |
Mon, 22 Mar 2021 12:33:18 +0100 |
On Sat, Mar 20, 2021 at 12:18:54PM +0800, Gavin Shan wrote:
> This fixes the following build error with gcc v11.0.0:
>
> # gcc --version
> gcc (GCC) 11.0.0 20210210 (Red Hat 11.0.0-0)
>
> [969/2604] Compiling C++ object libcommon.fa.p/disas_arm-a64.cc.o
> FAILED: libcommon.fa.p/disas_arm-a64.cc.o
> :
> In file included from /usr/include/glib-2.0/glib/gmacros.h:241,
> from /usr/lib64/glib-2.0/include/glibconfig.h:9,
> from /usr/include/glib-2.0/glib/gtypes.h:32,
> from /usr/include/glib-2.0/glib/galloca.h:32,
> from /usr/include/glib-2.0/glib.h:30,
> from
> /home/gavin/sandbox/qemu.main/include/glib-compat.h:32,
> from
> /home/gavin/sandbox/qemu.main/include/qemu/osdep.h:126,
> from ../disas/arm-a64.cc:21:
> /usr/include/c++/11/type_traits:56:3: error: template with C linkage
> 56 | template<typename _Tp, _Tp __v>
> | ^~~~~~~~
> ../disas/arm-a64.cc:20:1: note: ‘extern "C"’ linkage started here
> 20 | extern "C" {
> | ^~~~~~~~~~
>
> Signed-off-by: Gavin Shan <gshan@redhat.com>
> ---
> disas/arm-a64.cc | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/disas/arm-a64.cc b/disas/arm-a64.cc
> index 9fa779e175..8545c04038 100644
> --- a/disas/arm-a64.cc
> +++ b/disas/arm-a64.cc
> @@ -17,13 +17,13 @@
> * along with this program. If not, see <http://www.gnu.org/licenses/>.
> */
>
> +#include "vixl/a64/disasm-a64.h"
> +
> extern "C" {
> #include "qemu/osdep.h"
> #include "disas/dis-asm.h"
> }
>
> -#include "vixl/a64/disasm-a64.h"
> -
> using namespace vixl;
>
> static Decoder *vixl_decoder = NULL;
> --
> 2.23.0
>
>
This error occurs when c++ compiler is used. With the fix, build pass.
Reviewed-by: Miroslav Rezanina <mrezanin@redhat.com>