The Open PL/I default for data type alignment is aligned. -zchar sets the following data types to unaligned:
In addition, -zchar affects storage requirements for CHAR VAR , GRAPHIC VAR, and WIDECHAR VAR. It also affects parameter and descriptor matching at CALL statements.
Open PL/I default:
Dcl c char;
Dcl sub entry (char unaligned);
Call sub(c); /* A dummy argument is created for “c” */
Dcl c char;
Dcl sub entry (char aligned);
Call sub(c); /* “c” is passed by reference */
Example (-zchar)
Dcl c char;
Dcl sub entry (char unaligned);
Call sub(c); /* “c” is passed by reference */
Dcl c char;
Dcl sub entry (char aligned);
Call sub(c); /* A dummy argument is created for “c” */