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


一部の使用者に疑問視される構文で、使用を避ける事が容易なものに関する警告オプションを全て有効化
配列の添字がchar型の場合に警告を出力
float型の値が暗黙のうちにdouble型に昇格した場合に警告を出力
宣言にconst、volatile、 restrict、_Atomicの各指定子が重複している場合に警告
全ての警告をエラーに変換
警告指定子で指定した警告をエラーに変換
-Wallで有効となっていない追加の警告を有効化
最初に発生したエラーでコンパイルを中止
関数の戻り値の型にconstなどの型修飾子がある場合に警告を出力
-Wimplicit-intと-Wimplicit-function-declarationを指定した場合と同じ
switch文のcaseラベルでフォールスルーが発生する場合オプション引数で指定した条件で警告を出力
宣言される前の関数が使用された場合に警告を出力
型指定の無い宣言に対して警告を出力
変数自身により初期化されている身初期化の変数がある場合に警告を出力
main関数の形式に問題がある場合に警告を出力
コードのインデントがブロック構造と一致していない場合に警告を出力
配列の初期化などでブレースによって完全に囲まれていない箇所がある場合に警告を出力
指定したインクルードディレクトリが存在しない場合に警告を出力
if、else、for、switch、whileのブロック内に含まれているように見える安全ではない複数ステートメントのマクロについての警告
真理値が期待される箇所での代入や、演算子が入れ子になるなど優先順位が分かりにくいような特定の式で括弧が省略されている場合に警告を出力
#warning指令が発する警告メッセージの出力を抑制
-Werrorが有効な場合でも、警告指定子で指定した警告をエラーに変換しない
関数から戻る際、スコープ外となるローカル変数へのポインタを返しても警告が出ないようにする
nonnull属性が設定されている関数の引数にnullポインタを渡した場合に警告を出力
nonnull属性が設定されている関数の引数を関数内のnullと比較する場合に警告を出力
ISOにより定められた言語標準に関する警告を出力
戻り値の型がvoidではない関数で、return文が無い場合などに警告を出力
CおよびC++標準のシーケンスポイント規則に違反しているため、動作結果が未定義となる可能性があるコードに関する警告
シフト演算の祭に、シフトカウントが負の値の場合に警告を出力
シフト演算の祭に、「シフトカウント>=タイプ幅」に該当する場合は警告を出力
負の値を左シフトした場合に警告を出力
左シフトの演算でオーバーフローが発生した際に警告を出力
switchステートメントの制御式の値が列挙型で、caseラベルに該当する列挙定数が無い場合などに警告を出力
switchステートメントの制御式の値が真理値で、caseラベルが真理値の範囲外である場合に警告を出力
switchステートメントにdefaultラベルが無い場合は警告を出力
switchステートメントの制御式の値が列挙型で、defaultラベルがある場合でも、caseラベルに該当する列挙定数が無い場合などに警告を出力
switchステートメントの制御式と最初のcaseラベルの間に、実行されないステートメントが含まれている場合に警告を出力
関数の引数において、値の代入以外使用されていない場合に警告を出力
ローカル変数において、初期化以外使用されていない場合に警告を出力
static const変数が宣言以外の部分で使用されていない場合に警告を出力
static関数が宣言があっても定義されていない場合などに警告を出力
宣言されているラベルが使用されていない場合に警告を出力
関数内でローカルに宣言されたtypedefが使用されていない場合に警告を出力
関数の引数が宣言以外の部分で使用されていない場合に警告を出力
ローカル変数やstatic変数が、宣言のみで使用されていない場合に警告を出力
エラーメッセージの最大数を設定
コード上の構文エラーのチェックまでを実行
ISOにより定められた言語標準に関する警告をエラーとして出力
-w
全ての警告メッセージの出力を抑制