Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, コンパイラーおよびランタイム 移行ガイド

オブジェクトの互換性

VisualAge PL/I または Enterprise PL/I の以前のリリースによって生成されたコードとのオブジェクト互換性を維持する場合は、 Enterprise PL/I の本リリースで、以前のコンパイラーで使用した以下のオプションの各セットからの同じ値を使用する必要があります。

APAR PQ66252 の PTF によって VisualAge PL/I 2.2.1 が変更 (また、 対応する PTF によって Enterprise PL/I 3.1 と 3.2 が変更) されたため、 FLOAT から FIXED DEC および PICTURE への変換の結果は、従来のコンパイラ ーで生成されていた結果と一致するようになりました。

これにより、一部の変換では多少相違が生じることがあります。 次に例を示します。

   dcl f          float dec(16);
   dcl d2         dec(15,2);

   f = 1.4417e+04;
   f = f / 100;
   d2 = f;

現在は、すべてのコンパイラーは 144.17 という値を d2 に 代入しますが、この PTF が適用される前であれば、新しいコンパイラーは 144.16 という値を d2 に代入していました。

(V3R3、V3R4、および V3R5 に適用された) APAR PK17575 によって、コンパイラー生成コードは、MAIN に ON FINISH ブロックが含まれている場合に、CAA にフラグを設定します。 対応するライブラリー APAR によって、ライブラリーでこのフラグの有無が検査され、フラグがオンでない限り、FINISH は発生しません。 この 2 つの変更によって、大幅なパフォーマンス上の改善が実現することがあります。 ただし、このライブラリー APAR を適用した場合は、 ON FINISH ブロックが含まれたすべての旧 Enterprise PL/I オブジェクトを再コンパイルする必要が生じることになります。そうしなければ、ON FINISH ブロックに入りません。

これらの変更点を除けば、次の制限事項に従っている限り、Enterprise PL/I V3R2 コンパイラーによってコンパイルされたコードと、VisualAge PL/I ま たは Enterprise PL/I V3R1 のコンパイラーによってコンパイルされたコードとの 間には、完全なオブジェクトの互換性があります。

以前と同様に、すべてのコードは、RENT/NORENT オプションおよび WRITABLE/NOWRITABLE オプションを同じように設定してコンパイルす ることをお勧めします。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)