各種コンパイラで C 言語の整数型リテラル値とマクロ定数の論理和を試す2018年10月02日 11時12分00秒

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%

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

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2018/10/02/8967787/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。