Loose-Info.com
Last Update 2024/05/05
TOP - 各種テスト - gcc

GCCコマンドオプション各種試行一覧
アルファベット順へ   タイプ別へ

出力制御に関するオプション

表示 ファイル名の拡張子が「.c」で記述コードがC言語である場合のコンパイル
表示 FAIL ファイル名の拡張子が「.c」で記述コードがC++である場合のコンパイル
表示 ファイル名の拡張子が「.cpp」で記述コードがC++である場合のコンパイル
表示 ファイル名の拡張子が「.cpp」で記述コードがC言語である場合のコンパイル
表示 FAIL ファイル名の拡張子が「.i」プリプロセッサ命令を含むソースファイルのコンパイル
表示 ファイル名の拡張子が「.i」プリプロセスを必要としないソースファイルのコンパイル
表示 プリプロセスのみ終了したファイルの拡張子を「.i」「.c」とした場合のコンパイル結果の比較
表示 ・拡張子が「.h」であるファイルのコンパイル結果
「.h」のヘッダファイルと生成されたプリコンパイル済みヘッダファイルが存在する場合のコンパイル例
表示 「.h」のヘッダファイルプリコンパイル済みヘッダファイルが存在する場合の、プリプロセッサの記述順序によるヘッダファイル選択に関する挙動
表示 プリコンパイル済みヘッダファイルのみ存在する場合の、プリプロセッサの記述順序による検索挙動
表示 ソースコードを-Sオプションでコンパイルしアセンブラファイルを生成後、生成された拡張子「.s」のアセンブラファイルを引数としてgccを実行
表示 アセンブラコードのファイルにプリプロセッサ命令を追加して拡張子「.S」で保存し、gccの引数としてコンパイルを実行
表示 FAIL プリプロセッサ命令を含むアセンブラコードのファイルを拡張子「.s」で保存し、gccの引数としてコンパイルを実行
表示 ファイル名の拡張子が「.o」であるオブジェクトファイルを引数としてgccを実行
表示 ファイル名の拡張子が「.aaa」であるオブジェクトファイルを引数としてgccを実行
表示 FAIL ファイル名の拡張子が「.bbb」であるC言語のソースファイルを引数としてgccを実行
表示 「@ファイル」オプションを使用して、サンプルファイルの内容をgccのパラメータとして利用してしコンパイルを実行
表示 「@ファイルのファイル内にシングルクォート、ダブルクォート、行頭空白文字、バックスラッシュ、改行が含まれる場合の挙動確認
表示 -###オプション-vオプションのコンパイル時における出力比較
表示 -Eオプションを使用したプリプロセス済みのコードの生成
・生成したプリプロセス済みコードを保存したファイルのコンパイルを実行し、アセンブラファイルを出力
表示 アセンブル直前までのコンパイルを実行し、生成されたアセンブラファイルの内容を確認(-Sオプション)
表示 -cオプションによる、C言語ソースファイルのコンパイル
表示 -cオプションによる、C言語ソースファイルのリンク直前までのコンパイル
表示 -cオプションによる、C言語ソースファイルとアセンブラファイルが混在する場合の、リンク直前までのコンパイル
表示 -oオプションを使用しない場合の各コンパイル段階における出力ファイル名の確認
表示 -oオプションで実行ファイル名を指定してコンパイル
表示 -oオプションでアセンブラファイルの出力名を指定してアセンブファイルを生成
・上記アセンブファイルとmain.cを使用し、-oオプションで実行ファイル名を指定してコンパイルを実行
表示 FAIL 複数のCソースファイルを使用し、-oオプションで出力ファイル名をしてコンパイルを実行
表示 -pipeオプション有りで実行したコンパイルの経過詳細
表示 -pipeオプション無しで実行したコンパイルの経過詳細
表示 FAIL gccに認識されない拡張子を持つファイルを-specsオプション無しでコンパイル
表示 gccに認識されない拡張子を持つファイルを-specsオプションで拡張子指定項目を含むファイルを読み込ませてコンパイル
表示 -vオプションによるコンパイル過程の実行コマンド・関連情報(バージョン番号)などの表示例
表示 -wrapperオプションによりラッパープログラムを指定した際のサブコマンド(cc1、as、...)の実行経過
表示 -xオプションC言語を明示的(-x c)に指定し、対象としてC言語のソースファイルのコンパイルを実行
表示 FAIL -xオプションC言語を明示的(-x c)に指定し、対象としてC++のソースファイルのコンパイルを実行
表示 -xオプションCヘッダファイルを明示的(-x c-header)に指定してヘッダファイルのプリコンパイルを実行
・上記のプリコンパイル済みヘッダを利用し、ソースファイルのコンパイルを実行
表示 FAIL -xオプションプリプロセスを必要としないCソースファイルを明示的(-x cpp-output)に指定し、対象としてCソースファイル(プリプロセッサ命令記述有り)のコンパイルを実行
表示 -xオプションプリプロセスを必要としないCソースファイルを明示的(-x cpp-output)に指定し、対象としてプリプロセス実行済みのCソースファイルのコンパイルを実行
表示 -xオプションアセンブラを明示的(-x assembler)に指定し、対象としてアセンブラファイルのコンパイルを実行
表示 -xオプションプリプロセスが必要なアセンブラを明示的(-x assembler-with-cpp)に指定し、対象としてプリプロセスが必要なアセンブラファイルのコンパイルを実行
表示 -xオプションプリプロセスが必要なアセンブラを明示的(-x assembler-with-cpp)に指定し、対象としてプリプロセスが不要なアセンブラファイルのコンパイルを実行
表示 FAIL -xオプションC言語を明示的(-x c)に指定し、対象としてアセンブラの混在する複数ファイルのコンパイルを実行
表示 -xオプション言語指定オフを明示的(-x none)に指定し、最初に設定した言語指定をコマンドライン途中で解除してコンパイル
表示 コマンドラインオプションの説明を標準出力へ出力(--helpオプション クラス・修飾子無し)
表示 gccから呼び出される各プロセスを含む、コマンドラインオプションの説明を標準出力へ出力(--helpオプションの-vオプション追加指定)
表示 サポートする最適化オプションの説明を表示(--help=optimizers)
表示 コンパイラによって生成された警告メッセージを制御するオプションの説明を表示(--help=warnings)
表示 ターゲットを特定したオプションの説明を表示(--help=target)
表示 --paramオプションで認識される値の説明を表示(--help=params)
表示 C言語でサポートされているオプションの説明を表示(--help=C)
表示 C++でサポートされているオプションの説明を表示(--help=C++)
表示 Objective-Cでサポートされているオプションの説明を表示(--help=ObjC)
表示 Objective-C++でサポートされているオプションの説明を表示(--help=ObjC++)
表示 Fortranでサポートされているオプションの説明を表示(--help=Fortran)
表示 Adaでサポートされているオプションの説明を表示(--help=Ada)
表示 Goでサポートされているオプションの説明を表示(--help=Go)
表示 BRIGでサポートされているオプションの説明を表示(--help=BRIG)
表示 すべての言語に共通のオプションの説明を表示(--help=common)
表示 文書化されていないオプションの説明を表示(--help=undocumented)
表示 等号を用いて引数をとる形式のオプションの説明を表示(--help=joined)
表示 オプション文字列の後に別の単語として現れる引数をとる形式のオプションの説明を表示(--help=separate)
表示 --helpオプションにおいて、否定を意味する記号「^」を使用したコマンドラインを実行(--help= ^)
表示 --helpオプションにおいて、複数のクラスや修飾子を指定する記号「,(コンマ)」を使用したコマンドラインを実行(--help= ,)
表示 アセンブラ、リンカなどの各ツールの、ターゲットを特定したコマンドラインオプションの説明を表示(--target-help)
表示 GCCのバージョン番号著作権を表示(--version)

C言語特有の制御に関するオプション

表示 FAIL C++スタイルのコメントが含まれるコードを、言語標準をANSI C(-ansi)を指定してコンパイル
表示 C++スタイルのコメントが含まれるコードを、言語標準をANSI C(-ansi)の指定無しでコンパイル
表示 FAIL Digraph(ダイグラフ)を使用したコードを、言語標準をANSI C(-ansi)を指定してコンパイル
表示 Digraph(ダイグラフ)を使用したコードを、言語標準をANSI C(-ansi)の指定無しでコンパイル
表示 翻訳単位内の全ての関数の宣言・定義の情報を指定したファイルに出力(-aux-info ファイル)
表示 名前付き引数の無い可変個引数関数を含むコードを、名前付き引数の無い可変個引数関数の有効化(-fallow-parameterless-variadic-functions)を使用してコンパイル
表示 FAIL 名前付き引数の無い可変個引数関数を含むコードを、名前付き引数の無い可変個引数関数の有効化(-fallow-parameterless-variadic-functions)無しでコンパイル
表示 asm、inline、typeofキーワードまたは識別子として記述した各コードを、4種の言語標準(c90、c99、gnu90、gnu99)および-fno-asmオプションの有無別にコンパイルを実行(計48通り)
表示 __builtin_で始まる関数と始まらない関数を含むコードを、-fno-builtin(__builtin_で始まらない組み込み関数の認識の無効化)の有無別にコンパイルを実行し、生成されたバイナリファイルの内容を比較
表示 __builtin_で始まる関数と始まらない関数を含むコードを、-fno-builtin-関数(__builtin_で始まらない関数(組み込み)の認識の無効化)の有無別にコンパイルを実行し、生成されたバイナリファイルの内容を比較
表示 char、unsigned char、signed charを含むコードを-funsigned-char(符号無char)を使用せずにコンパイル
表示 char、unsigned char、signed charを含むコードを-funsigned-char(符号無char)を使用してコンパイル
表示 char、unsigned char、signed charを含むコードを-fsigned-char(符号付char)を使用せずにコンパイル
表示 char、unsigned char、signed charを含むコードを-fsigned-char(符号付char)を使用してコンパイル
表示 int、unsigned int、signed intのビットフィールドを含むコードを-fsigned-bitfields(符号付ビットフィールド)を使用せずにコンパイル
表示 int、unsigned int、signed intのビットフィールドを含むコードを-fsigned-bitfields(符号付ビットフィールド)を使用してコンパイル
表示 int、unsigned int、signed intのビットフィールドを含むコードを-fno-unsigned-bitfields(符号無ビットフィールド否定)を使用してコンパイル
表示 int、unsigned int、signed intのビットフィールドを含むコードを-funsigned-bitfields(符号無ビットフィールド)を使用せずにコンパイル
表示 int、unsigned int、signed intのビットフィールドを含むコードを-funsigned-bitfields(符号無ビットフィールド)を使用してコンパイル
表示 int、unsigned int、signed intのビットフィールドを含むコードを-fno-signed-bitfields(符号付ビットフィールド否定)を使用してコンパイル
表示 共用体を含むコードを-fsso-struct(構造体・共用体バイトオーダ指定オプション)を使用せずにコンパイル
表示 共用体を含むコードを-fsso-struct=native(ターゲットのネイティブエンディアン)を使用してコンパイル
表示 共用体を含むコードを-fsso-struct=big-endian(ビッグエンディアン)を使用してコンパイル
表示 共用体を含むコードを-fsso-struct=little-endian(リトルエンディアン)を使用してコンパイル
表示 FAIL C++スタイルのコメントが含まれるコードを言語標準c90(-std=c90)を指定してコンパイル
表示 C++スタイルのコメントが含まれるコードを言語標準オプションの指定無しでコンパイル
表示 FAIL Digraph(ダイグラフ)が含まれるコードを言語標準c90(-std=c90)を指定してコンパイル
表示 Digraph(ダイグラフ)が含まれるコードを言語標準オプションの指定無しでコンパイル
表示 FAIL Digraph(ダイグラフ)が含まれるコードを言語標準c89(-std=c89)を指定してコンパイル
表示 FAIL Digraph(ダイグラフ)が含まれるコードを言語標準iso9899:1990(-std=iso9899:1990)を指定してコンパイル
表示 FAIL C++スタイルのコメントが含まれるコードを言語標準iso9899:199409(-std=ciso9899:199409)を指定してコンパイル
表示 Digraph(ダイグラフ)が含まれるコードを言語標準iso9899:199409(-std=ciso9899:199409)を指定してコンパイル
表示 WARNING 可変長配列、long long int、複合リテラルが含まれるコードを言語標準c90(-std=c90)を指定してコンパイル
表示 可変長配列、long long int、複合リテラルが含まれるコードを言語標準c99(-std=c99)を指定してコンパイル
表示 WARNING 匿名構造体が含まれるコードを言語標準c99(-std=c99)を指定してコンパイル
表示 匿名構造体が含まれるコードを言語標準c11(-std=c11)を指定してコンパイル
表示 __STDC_VERSION__が含まれるコードを言語標準c90、iso9899:1990、c99、c11、c17を指定して各々コンパイルして値を確認
表示 FAIL C++スタイルのコメントとtypeofが含まれるコードを言語標準c90(-std=c90)を指定してコンパイル
表示 WARNING C++スタイルのコメントとtypeofが含まれるコードを言語標準gnu90(-std=gnu90)を指定してコンパイル
表示 FAIL C++スタイルのコメントとtypeofが含まれるコードを言語標準c99(-std=c99)を指定してコンパイル
表示 C++スタイルのコメントとtypeofが含まれるコードを言語標準gnu99(-std=gnu99)を指定してコンパイル
表示 FAIL Digraph(ダイグラフ)とtypeofが含まれるコードを言語標準c90(-std=c90)を指定してコンパイル
表示 FAIL Digraph(ダイグラフ)とtypeofが含まれるコードを言語標準c99(-std=c99)を指定してコンパイル
表示 Digraph(ダイグラフ)とtypeofが含まれるコードを言語標準gnu90(-std=gnu90)を指定してコンパイル
表示 Digraph(ダイグラフ)とtypeofが含まれるコードを言語標準gnu99(-std=gnu99)を指定してコンパイル
表示 FAIL 可変長配列、long long int、複合リテラル、typeofが含まれるコードを言語標準c90(-std=c90)を指定してコンパイル
表示 FAIL 可変長配列、long long int、複合リテラル、typeofが含まれるコードを言語標準c99(-std=c99)を指定してコンパイル
表示 WARNING 可変長配列、long long int、複合リテラル、typeofが含まれるコードを言語標準gnu90(-std=gnu90)を指定してコンパイル
表示 可変長配列、long long int、複合リテラル、typeofが含まれるコードを言語標準gnu99(-std=gnu99)を指定してコンパイル
表示 FAIL 匿名構造体、typeofが含まれるコードを言語標準c99(-std=c99)を指定してコンパイル
表示 FAIL 匿名構造体、typeofが含まれるコードを言語標準c11(-std=c11)を指定してコンパイル
表示 WARNING 匿名構造体、typeofが含まれるコードを言語標準gnu99(-std=gnu99)を指定してコンパイル
表示 匿名構造体、typeofが含まれるコードを言語標準gnu11(-std=gnu11)を指定してコンパイル
表示 __STDC_VERSION__が含まれるコードを言語標準gnu90、gnu99、gnu11、gnu17を指定して各々コンパイルして値を確認

診断メッセージのフォーマットに関するオプション

表示 エラーメッセージの折り返し目安文字数を指定する-fmessage-length=オプションを使用せずにコンパイル
表示 エラーメッセージの折り返し目安文字数に0を指定(-fmessage-length=0)してコンパイル
表示 エラーメッセージの折り返し目安文字数に60を指定(-fmessage-length=60)してコンパイル
表示 エラーメッセージの折り返し目安文字数に100を指定(-fmessage-length=100)してコンパイル
表示 エラーメッセージのソース内位置情報出力制御(-fdiagnostics-show-location=)を指定せずにコンパイル
表示 エラーメッセージのソース内位置情報出力制御にonceを指定(-fdiagnostics-show-location=once)してコンパイル
表示 エラーメッセージのソース内位置情報出力制御にevery-lineを指定(-fdiagnostics-show-location=every-line)してコンパイル
表示 メッセージへの色指定(-fdiagnostics-color=)を指定せずにコンパイル
表示 メッセージへの色指定にneverを指定(-fdiagnostics-color=never)してコンパイル
表示 メッセージへの色指定にautoを指定(-fdiagnostics-color=auto)してコンパイル
表示 メッセージへの色指定にalwaysを指定(-fdiagnostics-color=always)してコンパイル
表示 メッセージへの非着色オプション(-fno-diagnostics-color)を使用してコンパイル
表示 デフォルトで付加される診断を制御するコマンドラインオプションを示すテキストを出力しないオプション(-fno-diagnostics-show-option)の有無による出力を比較
表示 診断箇所の行と列を示すキャレット「^」と関連情報を出力しないオプション(-fno-diagnostics-show-caret)の有無による出力を比較
表示 機械的に解析可能なフォーマットのfix-itヒントを出力するオプション(-fdiagnostics-parseable-fixits)を指定した場合の出力例
表示 fix-itのヒントをdiff形式で標準エラーに出力するオプション(-fdiagnostics-generate-patch)を指定した場合の出力例
表示 診断メッセージに列番号出力を無しとするオプション(-fno-show-column)を使用しない場合の出力例
表示 診断メッセージに列番号出力を無しとするオプション(-fno-show-column)を使用した場合の出力例
表示 診断メッセージに列番号出力を無しとするオプション(-fno-show-column)とfix-itヒントを出力するオプション(-fdiagnostics-parseable-fixits)を同時に使用した場合の出力例

警告関連のオプション

表示 printfなどの関数呼び出しで引数とフォーマット文字列のチェックを行う-Wformatと、-Wallの各オプションを使用したコンパイル時の警告出力例
表示 フォーマット属性でprintf形式を指定された関数を含む場合の警告出力例(-Wformat)
表示 フォーマット文字列が文字列リテラルではない場合に警告を出力するオプションを使用した出力例(-Wformat-nonliteral)
表示 フォーマット引数の有無で結果が異なる-Wformat-nonliteral-Wformat-securityを当時に指定した場合の警告出力例
表示 バッファオーバーフローが発生する可能性が高いフォーマット文字列を伴う関数呼び出しに関する警告オプションの設定値による出力を比較(-Wformat-overflow)
表示 フォーマット文字列が文字列リテラルではなく引数を伴わない場合に警告を出力するオプションを使用した出力例(-Wformat-security)
表示 フォーマット文字列とフォーマット引数の符号有無の指定に違いがある場合に警告を出力するオプションを使用した出力例(-Wformat-signedness)
表示 出力の切り捨てが発生する可能性が高いフォーマット文字列を伴う関数呼び出しに関する警告を出力するオプションを使用した出力例(-Wformat-truncation)
表示 strftimeフォーマットで、年に関して2桁の値が出力される場合に警告を出力するオプションの有無の比較(-Wformat-y2k)
表示 -Wformat無しで-Wformat-y2kオプションのみを使用したコンパイル時の警告出力例
表示 フォーマット文字列で「%y」ではなく、4桁年「%Y」を指定し-Wformat-y2kオプションを使用時の警告出力例
表示 printfなどの関数呼び出しで引数とフォーマット文字列のチェックを行なわない-Wno-formatと、-Wallの各オプションを使用したコンパイル時の警告出力例
表示 ヌルバイトを含むフォーマット文字列について警告しないオプション(-Wno-format-contains-nul)の有無による出力の比較
表示 printf、scanf形式の関数への過剰な引数について警告しないオプション(-Wno-format-extra-args)の有無による出力の比較
表示 長さ0のフォーマット文字列に関して警告しないオプション(-Wno-format-zero-length)の有無による出力の比較
表示 誤りが疑われるメモリアドレスの使用についての警告オプション(-Waddress)の有無による出力の比較
表示 構造体や共用体を返す関数の定義・呼び出しがある場合の警告オプション(-Waggregate-return)の有無による出力の比較
表示 -Wallオプションによる警告出力例と回避例
表示 -Wextraオプションによる警告出力例
表示 -Wextraオプション-Wallオプションの同時使用による警告出力例
表示 関数呼び出しが一致しない型にキャストされた場合の警告オプション(-Wbad-function-cast)の有無による出力の比較
表示 ブール式が真偽値と異なる整数値と比較された場合の警告オプション(-Wbool-compare)の有無による出力の比較
表示 ブール値の式での疑わしい演算に対する警告オプション(-Wbool-operation)の有無による出力の比較
表示 ISO C99には有るがISO C90には無い機能に関する警告オプション(-Wc90-c99-compat)の有無による出力の比較
表示 ISO C11には有るがISO C99には無い機能に関する警告オプション(-Wc99-c11-compat)の有無による出力の比較
表示 ポインタがキャストされる際、型修飾子が外された場合などの警告オプション(-Wcast-qual)の有無による出力の比較
表示 配列の添字がchar型の場合の警告オプション(-Wchar-subscripts)の有無による出力の比較
表示 コメント中に「/*」が出現したり、行コメント「//」の行末が「バックスラッシュ + 改行」であるなどした場合の警告オプション(-Wcomment、-Wcomments)の有無による出力の比較
表示 if文内のelse分岐の記述の仕方が原因で混乱する可能性がある場合の警告オプション(-Wdangling-else)の有無による出力の比較
表示 ブロック内でステートメントの後に宣言が記述されている場合の警告オプション(-Wdeclaration-after-statement)の有無、および、-std=c90の使用による出力の比較
表示 float型の値が暗黙のうちにdouble型に昇格した場合の警告オプション(-Wdouble-promotion)による出力例
表示 宣言にconst、volatile、 restrict、_Atomicの各指定子が重複している場合の警告オプション(-Wduplicate-decl-specifier)の有無による出力の比較
表示 if-elseおよび三項演算子において分岐先の内容が同じである場合の警告オプション(-Wduplicated-branches)の有無による出力の比較
表示 if-else-ifで条件式が重複している場合の警告オプション(-Wduplicated-cond)の有無による出力の比較
表示 if else、または、do while文で本体が空文の場合の警告オプション(-Wduplicated-cond)の有無、および、-Wextraの使用による出力の比較
表示 異なる列挙型の値の比較についての警告オプション(-Wenum-compare)の有無による出力の比較
表示 全ての警告をエラーに変換するオプション(-Werror)の有無による出力の比較
表示 警告指定子で指定した警告をエラーに変換するオプション(-Werror=警告指定子)の有無による出力の比較
表示 最初に発生したエラーでコンパイルを中止するオプション(-Wfatal-errors)の有無による挙動の比較
表示 最初に発生したエラーでコンパイルを中止するオプション(-Wfatal-errors)の、-Werrorオプションにより変換されたエラーに対する挙動の比較
表示 実数値の精度を下げる暗黙の変換に関する警告オプション(-Wfloat-conversion)の有無、および、-Wconversionの使用による出力の比較
表示 浮動小数点数が等式比較で使用されている場合の警告オプション(-Wfloat-equal)の有無による出力の比較
表示 関数フレームのサイズがオプション引数で指定されたバイト数より大きい場合の警告オプション(-Wframe-larger-than=オプション引数)の有無による出力の比較
表示 関数の戻り値の型にconstなどの型修飾子がある場合の警告オプション(-Wignored-qualifiers)の有無、および、-Wextraの使用による出力の比較
表示 言語標準にC90を指定し、-Wimplicitを指定した場合の出力例
表示 switch文のcaseラベルでフォールスルーが発生する場合の警告オプション(-Wimplicit-fallthrough)の有無、0~5のオプション引数、および、-Wextraの使用による出力の比較
表示 宣言される前の関数が使用された場合の警告オプション(-Wimplicit-function-declaration)の有無、および、-Wallの使用による出力の比較
表示 言語標準にC90を指定し、-Wall-Wimplicit-function-declarationの各オプションを併記した場合の警告出力例
表示 型指定の無い宣言に対する警告オプション(-Wimplicit-int)の有無、および、-Wallの使用による出力の比較
表示 if文の条件式のような真偽値が期待される箇所で、整数値が誤りを疑われるような使われ方をしている場合の警告オプション(-Wint-in-bool-context)の有無、および、-Wallの使用による出力の比較
表示 変数自身により初期化されている変数がある場合の警告オプション(-Winit-self)を-Wuninitializedと併用、および、各単独使用した場合の出力例
表示 オプション引数で指定されたバイト以上のオブジェクトが定義される毎の警告オプション(-Wlarger-than=オプション引数)の有無による出力の比較
表示 比較の左辺オペランドに論理否定が使用されている場合の警告オプション(-Wlogical-not-parentheses)の有無、および、-Wallの使用による出力の比較
表示 論理演算子の使用で誤りが疑われる場合の警告オプション(-Wlogical-op)の有無による出力の比較
表示 long long 型が使用されている場合の警告オプション(-Wlong-long)の有無による出力の比較
表示 -std=c90オプション使用した際に、オプション無し、および-Wlong-long-Wpedantic-Wtraditionalオプションを併用した際の各々の警告出力例
表示 main関数の形式に問題がある場合の警告オプション(-Wmain)の有無、-Wpedantic、および、-Wallの使用による出力の比較
表示 main関数の形式に問題がある場合の警告オプション(-Wmain)のmain関数の引数に問題がある場合の警告出力例
表示 memset関数で、第1引数が配列の参照、第3引数が配列の要素数であるが配列のバイト長と一致していない場合の警告オプション(-Wmemset-elt-size)の有無、および、-Wallの使用による出力の比較
表示 memset関数で、第2引数が0ではなく、第3引数が「0」の場合の警告オプション(-Wmemset-transposed-args)の有無、および、-Wallの使用による出力の比較
表示 コードのインデントがブロック構造と一致していない場合の警告オプション(-Wmisleading-indentation)の有無、および、-Wallの使用による出力の比較
表示 配列の初期化などでブレースによって完全に囲まれていない箇所がある場合の警告オプション(-Wmissing-braces)の有無、および、-Wallの使用による出力の比較
表示 指定したインクルードディレクトリが存在しない場合の警告オプション(-Wmissing-include-dirs)の有無による出力の比較
表示 if、else、for、switch、whileのブロック内に含まれているように見える安全ではない複数ステートメントのマクロについての警告オプション(-Wmultistatement-macros)の有無、および、-Wallの使用による出力の比較
表示 関数内でのextern宣言に対しての警告オプション(-Wnested-externs)の有無による出力の比較
表示 #warning指令を含み、-Wno-cpp以外の警告が発生しないコードをコンパイルした場合の出力例
表示 #warning指令を含み、-Wno-cpp以外の警告を発生させるコードをコンパイルした場合の出力例
表示 コンパイル時の整数のゼロ除算についての警告を無しとするオプション(-Wno-div-by-zero)の有無による出力の比較
表示 ポインタの型修飾子が破棄された場合でも警告を無しとするオプション(-Wno-discarded-qualifiers)の有無による出力の比較
表示 配列へのポインタの型修飾子が破棄された場合でも警告を無しとするオプション(-Wno-discarded-array-qualifiers)の有無による出力の比較
表示 #else、#endifの後に続くテキストについて警告を無しとするオプション(-Wno-endif-labels)の有無による出力の比較
表示 -Werrorが有効な場合と、-Wno-error=を併記した場合を比較
表示 ヒープ領域に割り当てられていないオブジェクトを解放しようとした場合でも警告を無しとするオプション(-Wno-free-nonheap-object)の有無による出力の比較
表示 互換性の無い型のポインタ間で変換が生じた場合でも警告を無しとするオプション(-Wno-incompatible-pointer-types)の有無による出力の比較
表示 整数からポインタ、ポインタから整数への互換性の無い変換が生じた場合でも警告を無しとするオプション(-Wno-int-conversion)の有無による出力の比較
表示 異なるサイズの整数のポインタ型へのキャストがあっても警告を無しとするオプション(-Wno-int-to-pointer-cast)の有無による出力の比較
表示 ポインタ型から異なるサイズの整数型へのキャストがあっても警告を無しとするオプション(-Wno-pointer-to-int-cast)の有無による出力の比較
表示 関数から戻る際、スコープ外となるローカル変数へのポインタを返しても警告を無しとするオプション(-Wno-return-local-addr)の有無による出力の比較
表示 GCCが理解可能な#pragma指令の、誤ったパラメータ、無効な構文などに対しての警告を無しとするオプション(-Wno-pragmas)の有無、および、-Wallの使用による出力の比較
表示 nonnull属性が設定されている関数の引数にnullポインタを渡した場合の警告を無しとするオプション(-Wnonnull)の有無、-Wformat、および、-Wallの使用による出力の比較
表示 nonnull属性が設定されている関数の引数を関数内のnullと比較する場合の警告を無しとするオプション(-Wnonnull-compare)の有無、および、-Wallの使用による出力の比較
表示 宣言中にC標準の廃止された使用法がある場合の警告オプション(-Wold-style-declaration)の有無、および、-Wextraの使用による出力の比較
表示 古いスタイルの関数定義が使われている場合の警告オプション(-Wold-style-definition)の有無による出力の比較
表示 真理値が期待される箇所での代入や、特定の式で括弧が省略されている場合の警告オプション(-Wparentheses)の有無、および、-Wallの使用による出力の比較
表示 ISOにより定められた言語標準に関する警告オプション(-Wpedantic)の有無による出力の比較
表示 GNU C 拡張機能に対する-Wpedanticオプションの挙動確認
表示 "__" で始まり "__"で終わるキーワードに対する-Wpedanticオプションの挙動確認
表示 関数型やvoidのsizeof演算に依存する箇所についての警告オプション(-Wpointer-arith)の有無、および、-Wpedanticの使用による出力の比較
表示 ポインタがヌル文字定数('\0')と比較された場合の警告オプション(-Wpointer-compare)の有無による出力の比較
表示 同一スコープ内で宣言が2回以上さているものがある場合の警告オプション(-Wredundant-decls)の有無による出力の比較
表示 戻り値の型がvoidではない関数で、return文が無い場合などの警告オプション(-Wreturn-type)の有無、および、-Wallの使用による出力の比較
表示 CおよびC++標準のシーケンスポイント規則に違反しているため、動作結果が未定義となる可能性があるコードに関する警告オプション(-Wsequence-point)の有無、および、-Wallの使用による出力の比較
表示 宣言されている変数と同じ識別子で、内包されるスコープにおいて変数が宣言された際の隠ぺいの状況による警告オプション(-Wshadow)の有無による出力の比較
表示 -Wshadow=localオプションを使用した際の警告出力例
表示 -Wshadow=compatible-localオプションを使用した際の警告出力例
表示 シフト演算の祭に、シフトカウントが負の値の場合の警告オプション(-Wshift-count-negative)の有無による出力の比較
表示 シフト演算の祭に、「シフトカウント>=タイプ幅」に該当する場合の警告オプション(-Wshift-count-overflow)の有無による出力の比較
表示 負の値を左シフトした場合の警告オプション(-Wshift-negative-value)の有無、および、-Wextraの使用による出力の比較
表示 -Wextraオプションと言語標準C90、C99指定時の、-Wshift-negative-value関連の警告出力例
表示 左シフトの演算でオーバーフローが発生した際の警告オプション(-Wshift-count-overflow)の有無による出力の比較
表示 オプション無しで、言語標準C90、C99指定時の、-Wshift-overflow関連の警告出力例
表示 -Wshift-overflowオプション引数に1、および2を指定した際の警告出力例
表示 符号付きと符号なしの値の比較で、符号付き値が符号なしに変換された際に誤った結果が生じる可能性がある場合の警告オプション(-Wsign-compare)の有無、および、-Wextraの使用による出力の比較
表示 符号付き整数の符号なしへの代入で、符号の変更が生じる可能性のある暗黙の変換が生じる場合の警告オプション(-Wsign-conversion)の有無、および、-Wconversionの使用による出力の比較
表示 関数定義で配列として宣言された引数にsizeof演算子が使用された場合の警告オプション(-Wsizeof-array-argument)の有無による出力の比較
表示 ポインタのサイズを要素のサイズで割る、2つのsizeof式の除算に対する誤りを予想する警告オプション(-Wsizeof-pointer-div)の有無、および、-Wallの使用による出力の比較
表示 特定の文字列およびメモリ操作の関数の引数がsizeof式を使用して、バイト長の指定などで誤りが疑われる場合の警告オプション(-Wsizeof-pointer-memaccess)の有無、および、-Wallの使用による出力の比較
表示 関数のスタック使用量がオプション引数で指定されたバイトよりも大きい可能性がある場合の警告オプション(-Wstack-usage=オプション引数)の有無による出力の比較
表示 オプション無しで実行した際の、コピー先バッファがオーバーフローすると判断された場合の警告オプション(-Wstringop-overflow)に関する警告出力例
表示 strncpyなどの数的拘束を伴う文字列操作関数で、文字列操作の際に切り捨てなどが発生する場合の警告オプション(-Wstringop-truncation)の有無、および、-Wallの使用による出力の比較
表示 switchステートメントの制御式の値が列挙型で、caseラベルに該当する列挙定数が無い場合の警告オプション(-Wswitch)の有無、および、-Wallの使用による出力の比較
表示 defaultラベルが存在する場合の-Wswitchオプションの挙動確認
表示 全列挙定数のcaseラベルが存在する場合の-Wswitchオプションの挙動確認
表示 switchステートメントの制御式の値が真理値で、caseラベルが真理値の範囲外である場合の警告オプション(-Wswitch-bool)の有無による出力の比較
表示 caseラベルが真理値の範囲内の場合の-Wswitch-boolオプションの挙動確認
表示 switchステートメントの制御式の値を整数に型キャストした場合の-Wswitch-boolオプションの挙動確認
表示 switchステートメントにdefaultラベルが無い場合の警告オプション(-Wswitch-default)の有無による出力の比較
表示 switchステートメントの制御式の値が列挙型で、defaultラベルが存在しても、caseラベルに該当する列挙定数が無い場合の警告オプション(-Wswitch-enum)の有無による出力の比較
表示 defaultラベルが存在する場合の-Wswitch-enumオプションの挙動確認
表示 全列挙定数のcaseラベルが存在する場合の-Wswitch-enumオプションの挙動確認
表示 switchステートメントの制御式と最初のcaseラベルの間に、実行されないステートメントが含まれている場合の警告オプション(-Wswitch-unreachable)の有無による出力の比較
表示 自己比較の存在やビット単位比較などの間違いなどで、評価が常にtrueまたはfalseのどちらかになるような場合の警告オプション(-Wtautological-compare)の有無、および、-Wallの使用による出力の比較
表示 旧来のC言語とISO C言語で挙動の異なる特定の構文に関する警告オプション(-Wtraditional)の有無による出力の比較
表示 データ型の範囲が限定されているために比較結果が常に真または偽である場合の警告オプション(-Wtype-limits)の有無、および、-Wextraの使用による出力の比較
表示 #ifで未定義の識別子が評価された場合の警告オプション(-Wundef)の有無による出力の比較
表示 変数が初期化されずに使用された場合の警告オプション(-Wuninitialized)の有無、および、-Wallの使用による出力の比較
表示 GCCが理解できない#pragma指令が検出された場合の警告オプション(-Wunknown-pragmas)の有無、および、-Wallの使用による出力の比較
表示 ほぼ全ての-Wunused-...関連のオプションを組み合わせたオプション(-Wunused)の有無、および、-Wallの使用による出力の比較
表示 関数の引数において、値の設定以外使用されていない場合の警告オプション(-Wunused-but-set-parameter)の有無、-Wunused、および、-Wextraの使用による出力の比較
表示 ローカル変数において、初期化以外使用されていない場合の警告オプション(-Wunused-but-set-variable)の有無、-Wunused、および、-Wallの使用による出力の比較
表示 static const変数が宣言以外の部分で使用されていない場合の警告オプション(-Wunused-const-variable=)の有無、および、-Wallの使用による出力の比較
表示 -Wunused-const-variable=オプション引数に1、および2を指定した際の警告出力例
表示 static関数が宣言があっても定義されていない場合、および、inline指定の無いstatic関数が使用されていない場合の警告オプション(-Wunused-function)の有無、および、-Wallの使用による出力の比較
表示 宣言されているラベルが使用されていない場合の警告オプション(-Wunused-label)の有無、および、-Wallの使用による出力の比較
表示 関数内でローカルに宣言されたtypedefが使用されていない場合の警告オプション(-Wunused-local-typedefs)の有無、および、-Wallの使用による出力の比較
表示 定義されている未使用のマクロに関する警告オプション(-Wunused-macros)の有無による出力の比較
表示 関数の引数が宣言以外の部分で使用されていない場合の警告オプション(-Wunused-parameter)の有無による出力の比較
表示 効果のない結果を計算することとなるステートメントに関する警告オプション(-Wunused-value)の有無、および、-Wallの使用による出力の比較
表示 ローカル変数やstatic変数が、宣言のみで使用されていない場合の警告オプション(-Wunused-variable)の有無、および、-Wallの使用による出力の比較
表示 コード内で可変長配列が使用されている場合の警告オプション(-Wvla)の有無による出力の比較
表示 エラーメッセージの最大数の設定オプション(-fmax-errors=)を使用せずにコンパイル
表示 -fmax-errors=3を指定してコンパイル
表示 -fmax-errors=3 および -v オプションを指定してコンパイル
表示 -fmax-errors=4を指定してコンパイル
表示 -fmax-errors=0を指定してコンパイル
表示 -fmax-errors=3 および -Wfatal-errors オプションを指定してコンパイル
表示 エラー無しのコードにおける-fsyntax-onlyオプションの有無による出力の比較
表示 エラーが発生するコードにおける-fsyntax-onlyオプションの有無による出力の比較
表示 -Wpedanticオプション-pedantic-errorsオプションの出力の比較
表示 全ての警告メッセージを出力しない-wオプションの有無による出力の比較

プリプロセッサを制御するオプション

表示 マクロ名を「1」として定義するオプション(-D マクロ名)の有無によるコンパイル実行結果の比較
表示 マクロ名定義内容として定義するオプション(-D マクロ名=定義内容)の有無によるコンパイル実行結果の比較
表示 -Dオプションを使用して関数形式マクロを定義したコンパイル
表示 ビルトインまたは-Dオプションで定義されたマクロ(マクロ名)を取り消す-Uオプションのビルトインされているマクロに対する効果
表示 -Dオプションを使用して定義されたマクロに対する-Uオプションの効果
表示 ソースコード内で定義されたマクロに対する-Uオプションの効果
表示 1行目への#include "ファイル名" の記述と同等の処理を実施するオプション(-include ファイル名)の有無によるコンパイル実行結果の比較
表示 オプション無し-imacros、および-includeオプションを使用したコンパイル実行結果の比較
表示 システム固有やGCC固有のマクロを事前に定義しないオプション(-undef)の有無によるコンパイル実行結果の比較
表示 メインのソースファイルの依存関係をmakeのルール形式で出力する-Mオプションで、標準ヘッダの使用の有無による出力を比較
表示 メインのソースファイルの依存関係をmakeのルール形式で出力する-MMオプションで、標準ヘッダの使用の有無による出力を比較
表示 ソースファイルの依存関係を出力するオプションの出力先をファイル名で指定する-MFオプションを、-Mおよび-MMオプションと同時に使用した場合の出力例
表示 -MFオプションファイル名を「-」と指定した場合の出力例
表示 -M、-MMオプション使用時に、ヘッダファイルが存在しない場合でもエラー無しで依存関係リストを出力する-MGオプションの有無による出力結果の比較
表示 -Mオプションと同様の依存関係出力をファイルに対して実施する-MDオプションのみを指定した場合の出力例
表示 -MDオプション-Eオプションを指定した場合の出力例
表示 -MDオプション-oオプションを指定した場合の出力例
表示 -MDオプション-Eオプション、および-oオプションを指定した場合の出力例
表示 -MMオプションと同様の依存関係出力をファイルに対して実施する-MMDオプションのみを指定した場合の出力例
表示 -MMDオプション-Eオプションを指定した場合の出力例
表示 -MMDオプション-oオプションを指定した場合の出力例
表示 -MMDオプション-Eオプション、および-oオプションを指定した場合の出力例
表示 -fpreprocessedオプションを使用して前処理済みのファイル(拡張子 .i)をコンパイル
表示 -fpreprocessedオプションを使用して前処理済みのファイル(拡張子 .aaa)をコンパイル
表示 -fpreprocessedオプション-xオプションを使用して前処理済みのファイル(拡張子 .aaa)をコンパイル
表示 前処理の際にコメントを破棄を行わないオプション(-C)の有無による-Eオプションの出力結果の比較
表示 トライグラフを使用可能とするオプション(-trigraphs)の有無による出力結果の比較
表示 プリプロセッサの実行中に定義された全マクロに関する#define指令のリストの出力例(-dMオプション)
表示 #define指令のリストと前処理の結果の出力例(-dDオプション)
表示 前処理の結果、および-dDと同じ#define指令リストのマクロ名のみの出力例(-dNオプション)
表示 前処理の結果、および#include指令の出力例(-dIオプション)

リンクのオプション

表示 リンク時にlibライブラリ.so、libライブラリ.aを検索するオプション(-lライブラリ)を使用してコンパイル
表示 他のオブジェクトとリンクして実行ファイルを作成可能な共有オブジェクトを生成するオプション(-shared)を使用してコンパイル
表示 オプションをリンカに渡すオプション(-Wl,オプション)を使用してコンパイル

ディレクトリ検索のオプション

表示 前処理の際にヘッダファイルを検索するリストにディレクトリを追加するオプション(-I、-iquote、-isystem、-idirafter)を使用してコンパイル
表示 -iwithprefixオプションの接頭辞として接頭辞を指定するオプション(-iprefix 接頭辞)を使用例
表示 -iwithprefix、および-iwithprefixbeforeオプションを使用したコンパイル
表示 ヘッダファイルのルートディレクトリを指定するオプション(-isysroot)を使用してコンパイル
表示 ヘッダファイルを標準的なシステムディレクトリで検索しない事とするオプション(-nostdinc)を使用してコンパイル
表示 -lオプションで検索するディレクトリのリストにディレクトリを追加するオプション(-Lディレクトリ)を使用してコンパイル
表示 ヘッダやライブラリのルートディレクトリとしてディレクトリを使用するオプション(--sysroot=ディレクトリ)を使用してコンパイル