g++ (4.7) の最も極端なエラー チェック フラグの組み合わせを調べたいと思います。古いコンパイラでコードをクロスコンパイルする必要があるため、新しい C++11 仕様は使用していません。これらの古いコンパイラ (ほとんどは g++ 4.0) は、g++4.7 では単に無視される問題を引き起こすことがよくあります。
現在、次の一連のフラグを使用しています。
-Wall -Wcomment -Wformat -Winit-self -ansi -pedantic-errors \
-Wno-long-long -Wmissing-include-dirs -Werror -Wextra
ただし、この組み合わせでは、int を予期する関数に double が渡される、または符号付きと符号なしの int の比較などの問題が特定されず、これにより古いコンパイラがチョークします。
私はドキュメントを読み、-Wsign-compare
有効にする必要があります-Wextra
が、実際にはそうではないようですので、何かを見落としている可能性があります...