!%permroutinespec    write(%integer  v,p);
!%permroutinespec    newline
!%primintegerfnspec      addr(%name p)
!%primintegerfnspec      typeof(%name n)
!%primintegerfnspec      sizeof(%name n)

begin
  routine test(name param)
    write(addr(param),0)  ; newline
    write(sizeof(param),0); newline
    write(typeof(param),0); newline
  end

  integerarray ia1(3:5)

  integerarray ia2(2:4,3:6)


  write(addr(ia1),0)  ; newline
  write(addr(ia1(3)),0)  ; newline
  write(sizeof(ia1),0); newline
  write(typeof(ia1),0); newline
  test(ia1)

  write(addr(ia2),0)  ; newline
  write(addr(ia2(2,3)),0)  ; newline
  write(sizeof(ia2),0); newline
  write(typeof(ia2),0); newline
  test(ia2)

endofprogram