我可以从符号创建一个常量并将其用作数组初始值设定项吗?

时间:2012-11-05 21:41:41

标签: llvm llvm-c++-api

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

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

所以我为llvm::GlobalVariable创建了一个myarr1对象。但是llvm断言并说它不能用作初始化器。

  

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

是否可以这样做?

1 个答案:

答案 0 :(得分:0)

得到答案:

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

谢谢!