通知メッセージを作成する。
.-noinfo-------------------------------------. | .-=--all---------------------------. | >>- -q--+-info--+-+------------------------------+-+-+--------->< | .-:-----------------. | | V | | '-=--+---+----+--+-all---+-+-+-' | '-no-' '-group-' | +-private---------------+ '-reduction-------------'
.-info=lan:trx-------------------------------. | .-=--all:noppt---------------------. | >>- -q--+-info--+-+------------------------------+-+-+--------->< | | .-:-----------------. | | | | V | | | | '-=--+---+----+--+-all---+-+-+-' | | | '-no-' '-group-' | | | +-private---------------+ | | '-reduction-------------' | '-noinfo-------------------------------------'
-qinfo オプションおよび診断メッセージ・グループについては、以下の『注』セクションで説明します。
#pragma infoおよび #pragma optionsも参照してください。
コマンド行で -qinfo を指定しなければ、コンパイラーは以下のことを想定します。
-qnoinfo
-qinfo=lan:trx
コマンド行で、サブオプションなしで -qinfo を指定すると、コンパイラーは以下のことを想定します。
-qinfo=all
-qinfo=all:noppt
サブオプションなしで -qinfo=all または -qinfo を指定すると、 C++ コードの ppt (プリプロセッサー・トレース) グループを除き、すべてのグループのすべての診断メッセージがオンになります。
-qnoinfo または -qinfo=noall を指定すると、すべてのグループのすべての診断メッセージがオフになります。
このコンパイラー・オプションの #pragma options info=suboption[:suboption ...] 形式、または #pragma options noinfo 形式を使用して、プログラム・コードの 1 つ以上の特定のセクションにあるメッセージを一時的に使用可能または使用不可にすることができます。
-qinfo オプションの有効な形式は、以下のとおりです。
all すべてのグループのすべての診断メッセージをオンにします。
-qinfo 形式と -qinfo=all 形式の効果は同じです。
オプションの -qinfo および -qinfo=all 形式は両方とも同じ効果がありますが、ppt グループ (プリプロセッサー・トレース) を組み込みません。
lan 言語レベルの影響を通知する診断メッセージを使用可能にします。これは C++ コンパイルのデフォルトです。 noall プログラムの特定の部分について、すべての診断メッセージをオフにします。 private 並列ループに対して private になった共用変数をリストします。 reduction 並列ループの中で縮約変数として認識されたすべての変数をリストします。 group 特定のメッセージのグループをオンまたはオフにします。ここで、group は以下の 1 つまたは複数です。
- group
- 戻される、または抑止されるメッセージのタイプ
- c99|noc99
- C89 言語レベルと C99 言語レベルの間で異なる動きをする場合がある C コード。
- cls|nocls
- C++ クラス。
- cmp|nocmp
- 符号なし比較で生じうる冗長度。
- cnd|nocnd
- 条件式で生じうる冗長度または問題。
- cns|nocns
- 定数を含む命令。
- cnv|nocnv
- 型変換。
- dcl|nodcl
- 宣言の整合性。
- eff|noeff
- 効果のないステートメントおよびプラグマ。
- enu|noenu
- enum 変数の整合性。
- ext|noext
- 未使用の外部定義。
- gen|nogen
- 汎用診断メッセージ。
- gnr|nognr
- 一時変数の生成。
- got|nogot
- goto 文の使用。
- ini|noini
- 初期設定で起こりうる問題。
- inl|noinl
- インラインされていない関数。
- lan|nolan
- 言語レベル効果。
- obs|noobs
- 廃止されたフィーチャー。
- ord|noord
- 評価の順序が指定されていない。
- par|nopar
- 未使用パラメーター。
- por|nopor
- 移送不能な言語構造体。
- ppc|noppc
- プリプロセッサーを使用した場合に起こりうる問題。
- ppt|noppt
- プリプロセッサー・アクションのトレース。
- pro|nopro
- 欠落関数プロトタイプ。
- rea|norea
- 到達できないコード。
- ret|noret
- 戻りステートメントの整合性。
- trd|notrd
- データまたは精度の、起こりうる切り捨てまたは欠落。
- tru|notru
- コンパイラーで切り捨てられた変数名。
- trx|notrx
- 16 進浮動小数点定数の丸め。
- uni|nouni
- 初期化されていない変数。
- upg|noupg
- 現在のコンパイラー・リリースの新しい振る舞いを、前のリリースと対比して示すメッセージを生成する。
- use|nouse
- 未使用の自動変数および静的変数。
- vft|novft
- C++ プログラムでの仮想関数テーブルの生成。
- zea|nozea
- ゼロ範囲の配列。
myprogram.C をコンパイルして、変換および到達しないステートメントを除くすべての項目について通知メッセージを生成させるには、以下を入力します。
xlc++ myprogram.C -qinfo=all -qinfo=nocnv:norea
関連参照