Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, Migration Guide

Dummy arguments and alignment

According to the Language Reference Manual, a dummy argument will be created if an argument differs from its parameter description in its alignment. However, the old compiler followed this rule for CHARACTER NONVARYING, but not for CHARACTER VARYING. The new compiler applies the rule consistently.

So, for example, given the following code

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 );

Dummy arguments should be created for both CALL statements, but only the Enterprise compiler will create a dummy argument for the second CALL.

Note that you can use the DEFAULT(DUMMY(UNALIGNED)) compiler option to make the compiler ignore alignment mismatches when deciding when to create dummy arguments. If this option were in effect, the compiler would not create a dummy argument for either of the CALLs in the above example.


Terms of use | Feedback

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