#pragma report

C++ に適用

説明

#pragma report ディレクティブは、特定のメッセージの生成を制御します。プラグマは、#pragma info に優先します。#pragma report(pop) を指定すると、レポート・レベルは直前のレベルに戻されます。前のレポート・レベルが指定されていないと、警告を出して、そのレポート・レベルがそのまま変更されません。

構文


構文図

ここで、


レベル 表示する診断メッセージの最小の重大度レベルを示します。
E | W | I 表示する診断メッセージの型を決定するためのレベルの論理積で使用します。

E
'error' の最小のメッセージ重大度を示します。これは診断メッセージの最も厳密な型であると見なされます。 'E' のレポート・レベルは、'error' メッセージだけ表示します。別の方法で 'E' にレポート・レベルを設定するには、-qflag=e:e コンパイラー・オプションを指定します。

W
'warning' の最小のメッセージ重大度を示します。'W' のレポート・レベルは、すべての通知メッセージを遮り、警告メッセージまたはエラーのメッセージとして分類されたメッセージだけを表示します。別の方法で 'W' にレポート・レベルを設定するには、-qflag=w:w コンパイラー・オプションを指定します。

I
'information' の最小のメッセージ重大度を示します。通知メッセージは、診断メッセージの最も厳密でない型と見なします。 'I' のレベルはすべてのメッセージ型を表示します。コンパイラーはこれをデフォルト・オプションとして設定します。別の方法で 'I' にレポート・レベルを設定するには、 -qflag=i:i コンパイラー・オプションを指定します。
enable | disable 指定したメッセージ番号を使用可能または使用不可にします。
message_number メッセージ番号が続く、メッセージ番号のプレフィックスを含む ID です。メッセージ番号の例: CPPC1004
pop 直前のレポート・レベルにレポート・レベルがリセットされます。ポップ操作が空のスタックで実行されている場合、レポート・レベルは未変更のまま有効であり、メッセージも生成されません。

  1. #pragma info を指定すると、すべての情報診断を印刷するようにコンパイラーに指示します。プラグマのレポートは、 'W' の重大度または警告メッセージを持つメッセージのみを表示するようにコンパイラーに指示します。この場合、情報診断は何も表示されません。
    1  #pragma info(all)
    2  #pragma report(level, W)
    
  2. CPPC1000 がエラー・メッセージの場合、表示されます。別の診断メッセージ型の場合は、表示されません。
    1  #pragma report(enable, CPPC1000)  // enables message number CPPC1000
    2  #pragma report(level, E)	  // display only error messages. 
    
    次のようにコードの順序を変更すると、
    1  #pragma report(level, E)
    2  #pragma report(enable, CPPC1000)
    
    同じ結果になります。コードの 2 つの行が表示される順序は、結果に影響しません。ただし、メッセージが 'disabled' の場合、設定されているレポート・レベルおよび表示されるコードの行の順序に関係なく、診断メッセージは表示されません。
  3. 下記の例の行 1 で、初期レポート・レベルが 'I' に設定されているので、分類される診断メッセージの型に関係なくメッセージ CPPC1000 が表示されます。行 3 は、新しいレポート・レベル 'E' が設定され、重大度レベルが 'E' であるメッセージのみが表示されることを示します。行 3 の直後に、現行レベル 'E' が 'ポップ' であり、'I' にリセットされます。
    1  #pragma report(level, I)
    2  #pragma report(enable, CPPC1000)
    3  #pragma report(level, E)
    4  #pragma report(pop)
    

関連参照

汎用プラグマ
flag IBM Copyright 2003