Enterprise PL/I の V3R2 以降、NORENT がデフォルト
になっています (以前は RENT がデフォルトでした)。
これにより、新しいコンパイラーは、旧版のコンパイラーと同様に、
静的変数を書き込み可能にし、なおかつ REENTRANT にする
ための追加のコードを生成する (これが RENT オプションの動作です) ことを
デフォルトでは行わなくなるため、マイグレーションが容易になります。
また、RENT オプションを使用する場合は、
プリリンカーを使用するか、モジュールを PDSE に
格納する必要があることに注意してください。
新しい WRITABLE オプションも、NORENT と組み合わせることで
最高のパフォーマンスを提供するため、デフォルトになりました。
ただし、NORENT オプションを使用している場合、
次の両方の項目が真であれば、NOWRITABLE オプションも
指定する必要があります。
- コードは REENTRANT である必要がある。
- コードは CONTROLLED 変数または FILE を使用している。
Enterprise V3R4 では、NOWRITABLE オプションに以下の 2 つのサブオプションがあり、
それによって、コードの互換性が高くなる (低くなる) 可能性もあります。
- FWS
- NOWRITABLE(FWS) オプションを使用すれば、ご使用のコードを、NOWRITABLE オプションを使用して Enterprise PL/I の以前のリリースで生成されたコードと互換性を持たせることができます
が、Enterprise PL/I で生成されたコードと、PL/I for MVS & VM およびそれ以前のコンパイラー
で生成されたコードの間で CONTROLLED 変数を共用させることは許されません。
- PRV
- NOWRITABLE(PRV) オプションを使用すれば、Enterprise
PL/I でコンパイルされたコードと旧 PL/I コンパイラーでコンパイルされたコードで
CONTROLLED 変数を共用することが許されます。
ただし、FETCH で CONTROLLED を使用している場合にこれらのコンパイラーによって課せられるのと同じ
制限も課せられることになります。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)