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

GOTO holes

Consider the following code fragment:

   dcl x(4) label;

   goto x(n);
   x(4):;
   put skip list( n );
   x(3):;
   put skip list( n );
   x(2):;
   put skip list( n );
   x(1):;
   put skip list( n );

Note that if n < 1 or if n > 4, and if the SUBSCRIPTRANGE condition is not enabled, then your program was in error.

Under the old compiler, a protection exception usually resulted.

Under the new compiler, the ERROR condition will be raised with ONCODE=9003 with the following message:

IBM0751S  ONCODE=9003  A GOTO was attempted to an element of a label constant
         array, but the subscripts for the element were not those of any
         label in that array.

Terms of use | Feedback

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