Компилятор, похоже, не находит функцию-член класса llvm :: Instruction - PullRequest
1 голос
/ 10 мая 2019

Я очень новичок в коде llvm и пытаюсь избежать инструкции, если она удовлетворяет некоторым условиям. Что я пытаюсь сделать для escape - использовать функцию Instruction::getNextNonDebugInstruction(), которая выдает мне эту ошибку при компиляции:

‘class llvm :: Instruction’ не имеет члена с именем «GetNextNonDebugInstruction»;

Это не имеет смысла, так как мы видим, что getNextNonDebugInstruction() является публичным и присутствующим членом в классе Инструкций:

https://llvm.org/doxygen/classllvm_1_1Instruction.html#ae7b05782d5230743f5dda7825f0ebd88

Вот мой код:

llvm::Instruction* inst_ = ki->inst;

if(isa<CallInst>(inst_) && str.find("bpf")!= std::string::npos)
      {
        llvm::Instruction* next_inst = inst_->getNextNonDebugInstruction();

      }

1 Ответ

1 голос
/ 10 мая 2019

Эта функция была добавлена ​​в базу кода LLVM около года назад (см. https://github.com/llvm/llvm-project/commit/f01827f2d1bdaff14cf1cf176e8a69e308d5371e). Похоже, ваша версия не включает это изменение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...