コンパイラーによる言語のインプリメンテーションの相違のために、PL/I for Windows と OS PL/I のもとで、プログラムが異なって実行される原因となるいくつかの 言語エレメントもあります。次のそれぞれの項目は、PL/I for Windows の動作の観点から説明します。
この相違を回避するには、変数の精度を 8 から 15 まで (両端を含む) の値に変更してください。
例えば、次のコード断片では、配列のエレメントは a1、a2、a3、および a4 には初期化されません。
dcl (a1,a2,a3,a4) area; dcl a(4) area init( a1, a2, a3, a4 );
しかし、コードを次のように書き直せば、希望するように、配列を初期化できます。
dcl (a1,a2,a3,a4) area; dcl a(4) area; a(1) = a1; a(2) = a2; a(3) = a3; a(4) = a4;
例えば、PL/I for Windows コンパイラーは、下の代入ステートメントの DIVIDE 組み込み関数を FIXED DEC 式として評価します。
dcl (i,j) fixed bin(15);
dcl x fixed bin(15,2);
.
.
.
x = divide(i,j,15,2)