[英]Identify constant value in llvm
我正在編寫一個條件來查看 const llvm::Value* 是否為常量。 代碼如下:
if(const Constant* c = dynamic_cast<Constant>(val)){
......
}
“val”在這里是一個 const llvm::Value*,但是,編譯器說
error: 'llvm::Constant' is not a reference or pointer
if(const Constant* c = dynamic_cast<Constant>(val)){
^ ~~~~~~~~~~
我該如何修改它?
如果不需要在 if 塊中使用常量,則可以使用 isa<>()
if(isa<Constant>(val)){ ...... }
dynamic_cast
使用的類型必須是指針或引用類型。 我猜你也想保持const
性。
試試這個:
dynamic_cast<const Constant*>(val)
// ^^^^^ ^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.