lundi 30 août 2021

C++ delete function compile error occurs from difference between gcc 4.8.2 and 4.9.4

I tried to compile my source code using gcc-linaro-aarch64-linux-gnu-4.8-2013.09-01_linux(gcc 4.8.2)

the error occurred like below

../compiler/llvm/lib/Target/Bifrost/BifrostInstrInfo.h:58:47: error: use of deleted function 'llvm::MachineInstr::~MachineInstr()'

In file included from ../compiler/llvm/lib/Target/Bifrost/MCTargetDesc/BifrostMCInstOpdMap.h:18:0,

                 from ../compiler/llvm/lib/Target/Bifrost/MCTargetDesc/BifrostMCInst.h:14,

                 from ../compiler/llvm/lib/Target/Bifrost/BifrostRegisterInfo.h:13,

                 from ../compiler/llvm/lib/Target/Bifrost/BifrostMachineFunctionInfo.h:13,

                 from ../compiler/llvm/lib/Target/Bifrost/BifrostClause.h:13,

                 from ../compiler/llvm/lib/Target/Bifrost/BifrostAsmPrinter.cpp:10:

../compiler/llvm/include/llvm/CodeGen/MachineInstr.h:276:3: error: declared here

   ~MachineInstr() = delete;

So, I changed toolchain to gcc-linaro-4.9-2016.02-x86_64_aarch64-linux-gnu(gcc4.9.4)

and I tried again. build was success.

Build was successful and I read the gcc release note

But i don't know what the difference is.

I want to know cause clearly.

Could you explain the difference? or let me know the solution this issue in gcc4.8(ex compile option... etc)

Aucun commentaire:

Enregistrer un commentaire