ALLOW

エラー メッセージおよび警告メッセージを抑制します。
制約事項: 本トピックは Windows 環境にのみ該当します。

構文:

[NO]ALLOW

プロパティ:

デフォルト: ALLOW

ビルド設定:

プロジェクト プロパティの [Assembler] ページの [Assembler] タブの [Additional Directives] フィールドに直接入力します。

説明:

ALLOW オプションの目的は、メインフレームとの互換性を確保し、このような場合にエラーまたは警告メッセージが生成されないようにすることです。NOALLOW を使用して、コードの質を高めることができます。特に、ブランチ対ラベルが実行時に試される場合だけでなく、マクロのコンパイル時に不定長のすべてのマクロ ラベルを識別できる点がメリットの 1 つとして挙げられます。

次のコンパイル動作を有効にします。

  • マクロ内の変数定義の重複を許可し、最初の定義以外はすべて無視します (前の定義と重複するマクロ内の定義を許可します。前の定義が同じマクロ内にある場合やパラメーターになる場合にかかわらず、前の定義が後の定義をオーバーライドします)。
  • AIF 命令の不定長のラベルに対するブランチを許可します(このようなブランチが原因で実行時にエラーが発生します)。フルワードおよびハーフワードの定義で、かっこや一重引用符で囲まれた値の使用が許可されます (F(D0) や F'D0' などのコーディングが可能)。
  • 現在の USING を使用しない登録に命令 DROP を許可します。
  • 文字列サブリスト関数を抑制し、文字列全体を戻します。たとえば、&T SETC '(ABC)'(1) は ABC ではなく (ABC) を戻します。
  • CSECT 境界間のリテラル プール参照を許可します。これは PC 上で行われますが、メインフレームでは、アセンブラー リンカーによって CSECTS の置き換えや並べ替えが行われるため、一部のリテラル プール参照の表示は無効になります。このような状況では、NOALLOW を指定してください。
  • 長さを明示的に定義する EQU 文で 3 番目の作用対象を指定せずに定義されるシンボルの長さ (L' 演算子) に対して条件付きアセンブリ マクロ参照を許可します。マクロの前処理段階では長さはデフォルトで 1 になりますが、アセンブリ段階では実際の値に設定され、生成されたコードは正しくありません。
  • 空白行がある場合の警告は発行されません。
  • 不要コード (実行できないコード) がある場合の警告は発行されません。
  • PUSH が前に付いていない POP 命令に関する警告は発行されません。

NOALLOW を指定した場合、上記に関するエラー メッセージまたは警告メッセージが発行されます。