Я создаю llvm :: Value * из целочисленной константы следующим образом:
llvm::Value* constValue = llvm::ConstantInt::get( llvmContext , llvm::APInt( node->someInt() ));
теперь я хочу получить обратно значение константы времени компиляции;
int constIntValue = constValue->???
примеры, показанные в Руководстве по программированию LLVM , похоже, подразумевают, что cast будет принимать указатель при использовании параметра шаблона типа (а не типа плюс указатель), однако я почти уверен, что это не работает, начиная с 2.8:
llvm::Value* foo = 0;
llvm::ConstantInt* intValue = & llvm::cast< llvm::ConstantInt , llvm::Value >(foo );
//build error:
//error: no matching function for call to ‘cast(llvm::Value*&)’
Какой здесь подход будет правильным?