従来のコンパイラーでは、次のコードは「正常に」動作しました。
dcl vdptr pointer;
dcl vdcom char(2000) based(vdptr);
dcl
1 vdcommarea based(addr(vdcom)),
2 vda char(1000),
2 vdb char(1000),
2 vdz char(1);
alloc vdcom;
vdcommarea = '';
このコードは有効な PL/I コードではありません。その理由 は、2001 バイトの領域を使用して、2000 バイトの割り振られたストレージ部分 をオーバーレイしてはいけないからです。 OS PL/I V2R3 のランタイム環境では、幸いにもこのコードは「正常に動作」し ましたが、言語環境プログラムのランタイム環境では、このコードではエラーが発生します。