删除无法访问的代码是否安全? (-Wunreachable代码)

时间:2012-10-10 03:36:06

标签: c

我有一个较旧的程序,它是通过CFLAGS =“ - Wunreachable-code”使用clang构建的,它在某个交换机()上显示一些警告,在休息时间;它说它“永远不会被执行”,简单地删除无法访问的代码是安全的,或者本质上是-Wunreachable-code beta?

具体来说,它会在一些函数上发出警告,即:在前一次返回后返回-1,并在一个开关内部中断()

3 个答案:

答案 0 :(得分:12)

阅读代码,理解代码,如果标记为无法访问的代码确实无法访问且由于逻辑错误而无法访问,那么您可以将其删除。如果您还没有阅读并理解它,那么无论编译器说什么,修改它都是不安全的。

答案 1 :(得分:1)

我很确定警告是保守的,即除非编译器确定它是无法访问的代码,否则不会给出警告。

答案 2 :(得分:1)

我刚刚找到以下链接:

http://old.nabble.com/gcc--Wunreachable-code-option-td31698329.html

该选项已被删除,因为它不稳定。 查看邮件主题以获取详细信息