使用libgccjit获取操作中的结果类型

时间:2016-05-11 09:17:18

标签: c++ jit libgccjit

我正在用libgccjit实现一个jit编译器,并且在尝试检索二进制操作的结果时被卡住了。

结果不是问题所在,而是宣告结果的类型。

我有两个gcc_jit_rvalue,并希望对它们执行简单的二进制操作。

这两个rvalues可以有任何类型。

对于gcc_jit_context_new_binary_op的第四个参数,我必须指定结果类型。

鉴于我不知道右值的类型但可以得到它们的gcc_jit_type*,我怎样才能找到标准的C结果类型(GCC会使用的结果类型)何时编译表达式的C表达式a + b)?

我知道我可以写一堆ifelseswitch语句来覆盖整数和浮点数的每一个该死的组合并返回C中的预期结果,但这是一个很多的打字,我真的不想做。

有没有更简单的方法可以找到GCC在编译C代码时会使用的结果类型?

0 个答案:

没有答案