- CICS プリプロセッサーは、ブロック・スコーピングをサポートするようになったため、必要なローカル CICS 宣言をすべてのネストなしプロシージャーに追加するようになりました。
- SQL プリプロセッサーは、新しい SCOPE オプションをによってホスト変数参照を解決するとき、宣言のスコープに関する PL/I 規則をサポートするようになりました。
NOSCOPE は前のリリースとの互換性を保つためのデフォルトです。
- MACRO プリプロセッサーは、コンパイラー・リスト内の %include、%xinclude、%inscan、および %xinscan ステートメントをコメントとして残すことになりました。
- MACRO プリプロセッサーは、%DO SKIP; ステートメントを介して、コンパイルからコードのセクションを省略する簡単かつ明瞭な方法を提供するようになりました。
- MACRO プリプロセッサーは NAMEPREFIX というオプションをサポートするようになりました。ユーザーは、このオプションを使用して、マクロ・プロシージャーおよび変数を、指定した文字から強制的に開始することができます。
- IGNORE コンパイラー・オプションにより、PUT FILE または DISPLAY ステートメント、あるいはその両方を抑制することができます (いずれか一方のステートメントがデバッグ目的で使用されていたことがありますが、その場合は実動バージョンからコンパイルされました)。
- DEFAULT コンパイラー・オプションの NULLSTRPTR サブオプションにより、割り当てのソースがヌル・ストリングであるとき、ポインターに sysnull または null のどちらを割り当てるかをユーザーが制御できます。
- 新しい MAXGEN オプションは、任意の 1 つのユーザー・ステートメントに対して生成される中間言語ステートメントの最大数を指定するもので、コンパイラーがこの最大数を超える場合、ステートメントにフラグを立てるようにします。
- 新しい ONSNAP オプションにより、ユーザーは、MAIN または FROMALIEN プロシージャーのプロローグに ON STRINGRANGE SNAP; または ON STRINGSIZE SNAP; ステートメントを挿入するようにコンパイラーに要求できるようになりました。
- INITAUTO オプションの新しい SHORT サブオプションは、INITAUTO オプションがランタイム STORAGE オプションの全部を複写するのではなく、レジスターに最適化される可能性がある変数を初期化するように、INITAUTO オプションを制限します。
- 新しい RTCHECK オプションは、NULL ポインターの逆参照をテストするコードを生成します。
- 次のような、リスクを伴う可能性がある各種ステートメントに、コンパイラーがフラグを立てるようになりました。
- FIXED 演算の結果がゼロより小さいスケール係数を持つコード
- 関数として使用されたが RETURNS 属性なしで宣言された ENTRY
- 不適切であるにも関わらず BYVALUE として宣言されたパラメーター (例えば、FIXED DEC パラメーターが BYVALUE であると宣言するなど)
- FIXEDOVERFLOW を起こす可能性がある FIXED DECIMAL 加算および乗算演算
- 不良コードの制御強化およびフラグ設定を可能にするように RULES オプションが拡張されました。
- NOPROCENDONLY は、終了する PROC を指定していない、PROC の END ステートメントにフラグを立てます。
- NOSTOP は STOP および EXIT の使用にフラグを立てます。
- NOLAXQUAL(STRICT) は、レベル 1 名で修飾されていない変数にフラグを立てます。
- NOLAXSCALE は FIXED DEC(p,q) および FIXED BIN(p,q) の宣言にフラグを立てます (ただし、q < 0 または q > p の場合)。
- NOGOTO(LOOSE) は、同じブロック内にある場合にのみ GOTO を許可します。
- 複数の DELAY STATEMENT を別々のプロシージャーで並行して実行することができます。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)