C语言对浮点型的没有加后缀的字面量按照双精度浮点型处理(double),如果将这样一个字面量赋值给一个单精度浮点型(float)变量,可能会出现精度损失。但是无论GCC还是LLVM,在默认情况下都不对这种情况发出告警。如果要想发出告警,GCC需要添加“-Wfloat-conversion”,LLVM需要添加“-Wconversion”。
C语言对浮点型的没有加后缀的字面量按照双精度浮点型处理(double),如果将这样一个字面量赋值给一个单精度浮点型(float)变量,可能会出现精度损失。但是无论GCC还是LLVM,在默认情况下都不对这种情况发出告警。如果要想发出告警,GCC需要添加“-Wfloat-conversion”,LLVM需要添加“-Wconversion”。