Loose-Info.com
Last Update 2021/10/15
TOP - 各種テスト - gcc - 警告関連のオプション - -Wno-endif-labels

-Wno-endif-labels
#else、#endifの後に続くテキストについて警告しない

テスト概要

オプション無し、-Wno-endif-labelsオプションを使用した際の警告出力例

実行環境

GCC-8.2.0
GNU C Library 2.28
GNU Binutils 2.31.1


コード例・出力内容中の表記

・実行例中の太字表記部分は、コマンドなどの入力された文字列を示します。
・「」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。

使用ファイル


sample.c
#include <stdio.h> int main(void) { #if SAMPLE1 printf("SAMPLE1定義済み\n"); #else SAMPLE2 printf("elseによる分岐\n"); #endif SAMPLE3 #if SAMPLE1 printf("SAMPLE1定義済み\n"); #else /* SAMPLE2 */ printf("elseによる分岐\n"); #endif /* SAMPLE3 */ return 0; }

動作テスト

オプション無しでコンパイルを実行
$ gcc sample.c sample.c: In function ‘main’: sample.c:7:7: warning: extra tokens at end of #else directive [-Wendif-labels] #else SAMPLE2 ^~~~~~~ sample.c:9:8: warning: extra tokens at end of #endif directive [-Wendif-labels] #endif SAMPLE3 ^~~~~~~ $ #elseと#endifの後に続く文字列について警告を出力 後に続く文字列がコメントの場合の警告は無し

-Wno-endif-labelsオプション使用してコンパイルを実行
$ gcc -Wno-endif-labels sample.c $ -Wno-endif-labelsオプションにより警告は抑制される