各種コンパイラで C 言語の整数型リテラル値とマクロ定数の論理和を試す
2018-10-02


FreeBSD の LLVM で C 言語の整数型リテラル値とマクロ定数の論理和を試して警告が出たので、コンパイラが警告出来なくなるコードを追ってみた。LLVM 以外のコンパイラはわざわざ定数の論理和を警告しないので、こちらも警告は出ないだろう。

まずは、AIX の xlc コンパイラから。

aix% cat logical-and-macro-int.c 
#define TWO 2
int main()
{   
    return 1 && TWO;
} 
aix% xlc logical-and-macro-int.c 
aix%

次は Solaris の cc コンパイラ。

solaris% cat logical-and-macro-int.c 
#define TWO 2
int main()
{   
    return 1 && TWO;
} 
solaris% cc logical-and-macro-int.c 
solaris%  

次は、Linux の gcc。

linux% cat logical-and-macro-int.c
#define TWO 2
int main()
{   
    return 1 && TWO;
} 
linux% cc logical-and-macro-int.c
linux%

どのコンパイラも警告を出さずにコンパイルする。

前回次回

[C 言語]
[linux]
[Solaris]
[C++]
[AIX]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット