如何禁用gcc警告“浮动常量超出范围”和“浮动常量截断为零”?

时间:2011-02-26 03:58:05

标签: c gcc floating-point warnings

这些令人讨厌的警告在当前的gcc中是默认的,我无法找到禁用它们的选项。他们正在生成警告垃圾邮件并阻止在代码中使用-Werror进行编译,其中gcc警告的行为是有意的(并且来自通用宏,这些宏不能轻易避免生成此类常量)。

2 个答案:

答案 0 :(得分:3)

在深入了解GCC源代码后,我发现您所描述的警告是-Woverflow选项的一部分。所以,请关闭该警告。

顺便说一句,此评论位于警告的代码中:

  

C和C ++都需要对浮动常量进行诊断   在其类型的可表示值范围之外......   如果值下溢,我们也会发出警告。

答案 1 :(得分:2)

在GCC 4.8中,每个警告都带有一个明确指示,指示哪个标志启用它:

floating constant exceeds range of 'double' [-Woverflow]

干得好,GCC开发。