我可以从符号创建一个常数并将其用作数组初始化器



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

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

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

阵列元素初始化器中的错误类型

有可能执行此操作吗?

得到答案:

llvm ::常数 *cons = constantExpr :: getcast(conterction :: ptrtoint,gvar_array_myarr1,integertype :: get(mod-> getContext(),32),

>

谢谢!

最新更新