这些令人讨厌的警告在当前的gcc中是默认的,我无法找到禁用它们的选项。他们正在生成警告垃圾邮件并阻止在代码中使用-Werror
进行编译,其中gcc警告的行为是有意的(并且来自通用宏,这些宏不能轻易避免生成此类常量)。
答案 0 :(得分:3)
在深入了解GCC源代码后,我发现您所描述的警告是-Woverflow
选项的一部分。所以,请关闭该警告。
顺便说一句,此评论位于警告的代码中:
C和C ++都需要对浮动常量进行诊断 在其类型的可表示值范围之外...... 如果值下溢,我们也会发出警告。
答案 1 :(得分:2)
在GCC 4.8中,每个警告都带有一个明确指示,指示哪个标志启用它:
floating constant exceeds range of 'double' [-Woverflow]
干得好,GCC开发。