PSoC Creator での GCC ウォーニング診断設定 - KBA225431- Community Translated (JA)

Version 1

    Community Translated by  MoTa_728816          Version: **

     

     

    質問: PSoC Creator™ GCC のウォニングはどのように診設定できるのですか

     

    回答

    PSoC Creator はコドのエラやウォニング診 GCC コンパイラを使用して結果を Notice List に表示します。GCC は診断対象種ごとにその診を有または無にすることを許しますので診断対象の設定を更することが可能です。ウォニング象の設定は

    • コンパイラのコマンドラインオプショ
    • pragma による診断設

     

    手法 1: コンパイラのコマンドラインオプションを使用す

    コマンドラインはカスタムフラグを使用して行時のウォニング象を設定します。カスタムフラグの一 こちら. をご照ください

    この方法はグロバル設定でコド全体に反映されます。 1 のようにカスタムフラグを Build Settings に追加してください

     

     

    1. カスタムフラグを追加す

     

    手法 2: pragma を使用した GCC の診

    pragma は診の種類を更するのに使用されます。診設定用 pragma の詳細は こちら をご照ください。この手法はグロバル設定も行えますが、主にコドの特定部位の診設定に使用されます。pragma 指示子は下記のようにコドに直接追加されます

     

    書式

    #pragma GCC diagnostic <kind> <option>

     

    ここで

    <kind> error, warning, ignore のどれ

    <option> はコマンドラインオプションに相する文字

     

    使用例

    #pragma GCC diagnostic ignored “-Wunused-variable” //これで使用していない変数するウォニングは無視されるようになりま

     

    よくある質問 (FAQ) :

     

    出力ウィンドウや Notice List に表示されているウォニングを無にするのにはどうしたら良いですか

    Build Settings Compiler > Command Line Custom Flags のフィルドにカスタムフラグ “-w” をお使いください

     

    ドの特定部位に診を適用するにはどうしたら良いですか

    pragma は診断対象部分の先頭と最後を指定するのに push pop オプションを提供しています

    使用例

         #pragma GCC diagnostic push // 1

         #pragma GCC diagnostic ignored “-Wunused-variable”// 2

         #pragma GCC diagnostic pop   // 20

    この例ではコドの3行目から20行目までの間に使用されていない変数があっても無視されてウォニングは行されません。同に、例のコド中の ignored error 更するとコドのその部分のエラは無視されるようになります

     

     

    pragma の書式で option フィルドには何を記載したら良いのですか

    PSoC Creator でコドをコンパイルすると、全てのウォニングには pragma オプションも合わせて表示されます

     

    2. pragma オプショ

    でハイライトされた部分が pragma オプションです

     

    ウォニングを全てエラとして表示するのにはどうしたら良いですか

    Build Settings 中で "-Werror" フラグを使用してください

     

    ある特定のウォニング、例えば unused variable をエラとするのにはどうしたら良いですか

    もしコマンドラインオプションを使用しているのであれば、“-Werror=unused-varibale” フラグを Build Settings の中で使用してください

    もし GCC pragma を使用しているのであれば、下記の行を使用してください

    #pragma GCC diagnostic error “-Wunused-variable”

     

    どちらの手法がより高い優先度を持ちますか

    どちらの手法にも診の優先度が適用されます; ignore > warning > error 。その優先度の高い設定を持つ手法の設定が適用されます

     

    ウォニングを無にした上で Notice List  送するにはどうしたら良いですか

    PSoC Creator はコンパイラの出力を監視して正規表現を使用してツルチェン出力からエラやウォニングを出するシステムを持っています。しかし新しい書式 (例えば、#pragma 設定) 出できるシステムはありませんので、Notice List にそれらの情報表示をすることはできません