1

基本上我想为以下 C 代码创建数据 IR:

extern int myarr1[];
int myarr2 = {(int)&myarr1, 0, 0};

所以我llvm::GlobalVariablemyarr1. 但是llvm断言并说它不能用作初始化程序。

数组元素初始值设定项中的类型错误

是否有可能做到这一点?

4

1 回答 1

0

得到了答案:

llvm::Constant *cons = ConstantExpr::getCast(Instruction::PtrToInt, gvar_array_myarr1, IntegerType::get(mod->getContext(), 32));

谢谢!

于 2012-11-06T01:14:51.890 回答