表示
|
ファイル名の拡張子が「.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)
|
表示
|
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を指定して各々コンパイルして値を確認
|
表示
|
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オプションの有無による出力の比較
|