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

仮引数と配置

「言語解説書」マニュアルに記述されているように、引数の配置がパラメーター記述と 異なる場合は、仮引数が作成されます。 しかし、従来のコンパイラーは、CHARACTER NONVARYING に関してはこのルールに従いました が、CHARACTER VARYING に関しては従いませんでした。 新しいコンパイラーでは、このルールを一貫して適用します。

そのため、例えば次のようなコードになります。

dcl x entry( unaligned char(8) );
dcl y entry( unaligned char(8) varying );
dcl a aligned char(8);
dcl b aligned char(8) varying;
call x( a );
call y( b );

この例では、両方の CALL ステートメントに対して仮引数が作成されるべき ですが、2 番目の CALL に対しては Enterprise コンパイラーのみが仮引数を作成します。

なお、DEFAULT(DUMMY(UNALIGNED)) コンパイラー・オプションを使用することで、 コンパイラーが仮引数を作成するかどうか判断するときに、配置の不一致を無視させることができることに注意してください。 このオプションが有効である場合は、 コンパイラーは上記の例のどちらの CALL に対しても仮引数を作成しません。


Terms of use | Feedback

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