基本上我想为以下C代码创建数据IR:
extern int myarr1[];
int myarr2 = {(int)&myarr1, 0, 0};
所以我为llvm::GlobalVariable
创建了一个myarr1
对象。但是llvm
断言并说它不能用作初始化器。
数组元素初始值设定项中的类型错误
是否可以这样做?
答案 0 :(得分:0)
得到答案:
llvm :: Constant * cons = ConstantExpr :: getCast(Instruction :: PtrToInt,gvar_array_myarr1,IntegerType :: get(mod-> getContext(),32));
谢谢!