是否有适用于gcc编译器标志`-pass-exit-codes`生成的退出代码的文档?

时间:2016-01-20 04:50:59

标签: gcc g++4.8

在回答这个问题Unexpected exit status when using -pass-exit-codes in g++时,我意识到编译器指令-pass-exit-codes的文档非常模糊:

  

-pass退出码     通常,如果编译器的任何阶段返回非成功返回代码,则gcc程序将以代码1退出。如果指定-pass-exit-codes,则gcc程序将返回任何阶段返回错误指示所产生的数字最大错误。如果遇到内部编译器错误,C,C ++和Fortran前端将返回4。

导致问题"其他可能的错误代码是什么?"。如果还有其他可能的错误代码,它们对程序员来说可能很有价值,因此他可以将它们用于编译自动化。

在跟踪gcc 4.8.2(https://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2)中定义和返回退出值的方式之后,看起来唯一可能的退出代码是0({{1 }}),SUCCESS_EXIT_CODE1)和FATAL_EXIT_CODE4)。

现在,在gcc开发的问题跟踪系统(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22600#c4)中,我们可以看到初始补丁建议ICE_EXIT_CODE任意作为ICE相关退出代码的返回值。然后有人建议使用3,除非其他错误代码已经使用2,并且最终被分配给2,没有给出为什么4被选中的额外评论。那么错误代码是3还是4?它们用于什么?

因为了解其他退出代码对于使用gcc / g ++的程序员来说可能是有益的。是否有来自gcc的可能退出代码的文件清单?如果没有,可能应考虑在gcc团队的文档中添加。

0 个答案:

没有答案