各種コンパイラで C 言語の小数型リテラル 0.0 の論理和を試す2018年10月07日 12時22分39秒

FreeBSD の LLVM で C 言語の小数型リテラル 0.0 の論理和を試す で、FreeBSD の LLVM の動作を確認したので、今回は、それ以外を一気に。各種コンパイラで C 言語とC++ の小数型リテラル値の論理和を試した時に、警告を出してきたのは、LLVM だけだった。その LLVM も 0.0 には無言だったので、他のコンパイラが警告を出すとは思えない。

まずは、復習を兼ねて FreeBSD 11.2-RELEASE の llvm の出力。

freebsd% cat logical-and-double0.c
int main()
{   
    return 1 && .0;
}
freebsd% cc logical-and-double0.c
freebsd%
何の警告も出さない。

AIX の xlc コンパイラで。

aix% logical-and-double0.c
int main()
{   
    return 1 && .0;
}
aix% xlc logical-and-double0.c 
aix%
予想道理に無言。

Solaris の cc コンパイラ。

solaris% logical-and-double0.c
int main()
{   
    return 1 && .0;
}
solaris% cc logical-and-double0.c 
solaris%
予想道理に無言。

最後に、Linux の gcc コンパイラ。

linux% logical-and-double0.c
int main()
{   
    return 1 && .0;
}
linux% gcc logical-and-double0.c
linux%
これまた、予想道理に無言。

次回