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 <gs...@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