Доступ к отладочной информации в LLVM - PullRequest
0 голосов
/ 20 декабря 2018

Ранее в LLVM версии 4 и ниже можно было получить доступ к отладочной информации для программных конструкций через некоторые вызовы API.Например, чтобы получить информацию DWARF о структуре, я мог бы написать:

MDNode* structNode;
DIType structType(structNode);
assert(strType.getTag() == dwarf::DW_TAG_structure_type);

В текущей версии LLVM эти функции отключены.Знаете ли вы альтернативный подход для доступа к отладочной информации, такой как приведенный выше пример?

1 Ответ

0 голосов
/ 19 января 2019

Я думаю, что это должно работать примерно так же, просто используйте llvm::dyn_cast (как в настоящее время предлагается способ работы с LLVM в целом):

llvm::MDNode* md;

if (const auto di = llvm::dyn_cast<llvm::DINode>(md)) {
  assert(di->getTag() == llvm::dwarf::DW_TAG_structure_type);
}
...