4 character(3), dimension(3) :: zsymel
,zsymelr
5 common /xx
/ zsymel
, zsymelr
7 zsymel
= (/ 'X', 'Y', ' ' /)
8 zsymelr
= (/ 'X', 'Y', ' ' /)
10 call check_zsymel
(zsymel
,zsymelr
,znsymelr
)
14 subroutine check_zsymel
(zsymel
,zsymelr
,znsymelr
)
16 integer znsymelr
, isym
17 character(*) zsymel
(*),zsymelr
(*)
19 zsymel
(3)(lenstr
(zsymel
(3))+1:)='X'
20 write (buf
,10) (trim
(zsymelr
(isym
)),isym
=1,znsymelr
)
22 if (trim
(buf
) /= 'X,Y') STOP 1
23 end subroutine check_zsymel
26 character(len
=*),intent
(in
) :: s
28 if (len_trim
(s
) /= 0) STOP 2
32 end subroutine test_lower
36 character(3), dimension(3) :: zsymel
,zsymelr
37 common /xx
/ zsymel
, zsymelr
39 zsymel
= (/ 'X', 'Y', ' ' /)
40 zsymelr
= (/ 'X', 'Y', ' ' /)
42 call check_zsymel
(zsymel
,zsymelr
,znsymelr
)
46 subroutine check_zsymel
(zsymel
,zsymelr
,znsymelr
)
48 integer znsymelr
, isym
49 character(*) zsymel
(*),zsymelr
(*)
51 zsymel
(3)(:lenstr
(zsymel
(3))+1)='X'
52 write (buf
,20) (trim
(zsymelr
(isym
)),isym
=1,znsymelr
)
54 if (trim
(buf
) /= 'X,Y') STOP 3
55 end subroutine check_zsymel
58 character(len
=*),intent
(in
) :: s
60 if (len_trim
(s
) /= 0) STOP 4
64 end subroutine test_upper