Loose-Info.com
Last Update 2021/09/28
TOP - 各種テスト - gcc - 警告関連のオプション - -Wno-pragmas

-Wno-pragmas
GCCが理解可能な#pragma指令の、誤ったパラメータ、無効な構文などに対しての警告がでないようにする

テスト概要

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

実行環境

GCC-8.2.0
GNU C Library 2.28
GNU Binutils 2.31.1


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

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

使用ファイル


sample.c
#include <stdio.h> int main(void) { /* パラメータに誤りのある#pragma指令 */ #pragma GCC diagnostic warning "-W****" /* GCCが理解不能となる#pragma指令 */ #pragma mess "pragma mess" printf("sample\n"); return 0; }

動作テスト

オプション無しでコンパイルを実行
$ gcc sample.c sample.c: In function ‘main’: sample.c:6:33: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] #pragma GCC diagnostic warning "-W****" ^~~~~~~~ $ #pragma指令の未知のオプションに対する警告

-Wallオプションを指定してコンパイルを実行
$ gcc -Wall sample.c sample.c: In function ‘main’: sample.c:6:33: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] #pragma GCC diagnostic warning "-W****" ^~~~~~~~ sample.c:9: warning: ignoring #pragma mess [-Wunknown-pragmas] #pragma mess "pragma mess" $ -Wallに含まれる-Wunknown-pragmasの警告も追加

-Wno-pragmasオプションを指定してコンパイルを実行
$ gcc -Wno-pragmas sample.c 警告無し $ #pragma指令の未知のオプション(-Wpragmas)に対する警告を無効化

-Wno-pragmasと-Wallオプションを併記してコンパイルを実行
$ gcc -Wall -Wno-pragmas sample.c sample.c: In function ‘main’: sample.c:9: warning: ignoring #pragma mess [-Wunknown-pragmas] #pragma mess "pragma mess" $ -Wunknown-pragmasに対する抑制効果は無し