我有一个旧程序,它是通过 CFLAGS="-Wunreachable-code" 用 clang 构建的,它在某个 switch() 上显示一些警告,在休息时;它在哪里说它“永远不会被执行”,简单地删除无法访问的代码是否安全,或者本质上是 -Wunreachable-code beta?
具体来说,它对一些函数发出警告,即:在前一次返回后返回 -1,并在 switch() 内部中断
我有一个旧程序,它是通过 CFLAGS="-Wunreachable-code" 用 clang 构建的,它在某个 switch() 上显示一些警告,在休息时;它在哪里说它“永远不会被执行”,简单地删除无法访问的代码是否安全,或者本质上是 -Wunreachable-code beta?
具体来说,它对一些函数发出警告,即:在前一次返回后返回 -1,并在 switch() 内部中断
阅读代码,理解它,如果标记为无法访问的代码确实无法访问,并且不是因为逻辑错误而无法访问,那么您可以将其删除。如果您还没有阅读并理解代码,那么无论编译器怎么说,修改它都是不安全的。
我刚刚找到以下链接:
http://old.nabble.com/gcc--Wunreachable-code-option-td31698329.html
该选项已被删除,因为它不稳定。检查邮件线程以获取详细信息
我很确定警告是保守的,即除非编译器确定它是无法访问的代码,否则不会给出警告。