#pragma info

説明

#pragma info ディレクティブは、 特定のグループのコンパイラー・メッセージを作成または抑制するようコンパイラーに命令します。

構文

構文図を読む構文図をスキップする>>-#--pragma--info--(--+-all-------+--)------------------------><
                       +-none------+
                       +-restore---+
                       | .-,-----. |
                       | V       | |
                       '---group-+-'
 

ここで、

all すべての診断検査をオンにします。
none プログラムの特定部分に対するすべての診断サブオプションをオフにします。
restore 直前の #pragma info ディレクティブの前に有効だったオプションを復元します。
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
ゼロ・エクステントの配列。

#pragma info ディレクティブを使用すると、コマンド行、構成ファイル、または以前の #pragma info ディレクティブの呼び出しに指定した、現行の -qinfo コンパイラー・オプション設定を一時的にオーバーライドすることができます。

例えば、下記のコード・セグメントで、MyFunction1 の前の #pragma info(eff, nouni) ディレクティブは、無効なステートメントまたはプラグマを識別するメッセージを生成し、未初期化変数を識別するメッセージを表示しないようコンパイラーに命令します。MyFunction2 の前の #pragma info(restore) ディレクティブは、#pragma info(eff, nouni) ディレクティブが呼び出される前に有効であったメッセージ・オプションを復元するようコンパイラーに命令します。

#pragma info(eff, nouni) 
int MyFunction1()
{
  .
  .
  .

}

#pragma info(restore)
int MyFunction2()
{
  .
  .
  .

}

関連情報