1program main
2  call test (reshape ((/ 'a', 'b', 'c', 'd' /), (/ 2, 2 /)))
3contains
4  subroutine test (a)
5    character (len = *), dimension (:, :) :: a
6
7    if (size (a, 1) .ne. 2) STOP 1
8    if (size (a, 2) .ne. 2) STOP 2
9    if (len (a) .ne. 1) STOP 3
10
11    if (a (1, 1) .ne. 'a') STOP 4
12    if (a (2, 1) .ne. 'b') STOP 5
13    if (a (1, 2) .ne. 'c') STOP 6
14    if (a (2, 2) .ne. 'd') STOP 7
15  end subroutine test
16end program main
17