
  PROCEDURE [INLINE] clp$make_array_value
    (    lower_bound: clt$array_bound;
         upper_bound: clt$array_bound;
     VAR work_area {input, output} : ^clt$work_area;
     VAR value: ^clt$data_value);

?? PUSH (LISTEXT := ON) ??

    clp$make_value (clc$array, work_area, value);
    IF value <> NIL THEN
      NEXT value^.array_value: [lower_bound .. upper_bound] IN work_area;
      IF value^.array_value <> NIL THEN
        RETURN;
      IFEND;
      RESET work_area TO value;
      value := NIL;
    IFEND;

  PROCEND clp$make_array_value;

*copyc clt$array_bound
*copyc clt$data_value
*copyc clt$work_area
?? POP ??
*copyc clp$make_value
