【发布时间】:2013-03-14 00:15:09
【问题描述】:
我遇到了来自 gcc 4.1.2 的以下警告:
warning: comparison is always false due to limited range of data type
相关的C代码如下:
if ( unlikely(count < 0) ) BUG();
其中“计数”是无符号的。
由于不允许修改源代码,我尝试禁用警告:
-Wno-type-limits
但似乎 gcc 4.1.2 不支持它。
cc1: error: unrecognized command line option "-Wno-type-limits"
还有其他方法可以消除此警告吗?
【问题讨论】:
-
为什么不保留警告?也许源代码的所有者需要看到它;摆脱它也可以掩盖其他错误。
-
你被这段代码卡住了吗?是生成代码吗?
-
我认为生成警告的是 GCC,而不是 GDB。 GDB 版本 4 比 GCC 4.1.2 更古老(尽管 GCC 4.1.2 相当古老,也许大约在 2006 年左右)。