subroutine test1 character*8 c character*1 d, f dimension d(2), f(2) character*4 e equivalence (c(1:1), d(1)), (c(3:5), e(2:4)), (c(6:6), f(2)) c='abcdefgh' if (c.ne.'abcdefgh'.or.d(1).ne.'a'.or.d(2).ne.'b') STOP 1 if (e.ne.'bcde'.or.f(1).ne.'e'.or.f(2).ne.'f') STOP 2 end subroutine test1 subroutine test2 equivalence (c(1:1), d(1)), (c(3:5), e(2:4)), (c(6:6), f(2)) character*8 c character*1 d, f dimension d(2), f(2) character*4 e c='abcdefgh' if (c.ne.'abcdefgh'.or.d(1).ne.'a'.or.d(2).ne.'b') STOP 3 if (e.ne.'bcde'.or.f(1).ne.'e'.or.f(2).ne.'f') STOP 4 end subroutine test2 subroutine test3 character*8 c character*1 d, f character*4 e equivalence (c(1:1), d(1)), (c(3:5), e(2:4)), (c(6:6), f(2)) dimension d(2), f(2) c='abcdefgh' if (c.ne.'abcdefgh'.or.d(1).ne.'a'.or.d(2).ne.'b') STOP 5 if (e.ne.'bcde'.or.f(1).ne.'e'.or.f(2).ne.'f') STOP 6 end subroutine test3 subroutine test4 dimension d(2), f(2) equivalence (c(1:1), d(1)), (c(3:5), e(2:4)), (c(6:6), f(2)) character*8 c character*1 d, f character*4 e c='abcdefgh' if (c.ne.'abcdefgh'.or.d(1).ne.'a'.or.d(2).ne.'b') STOP 7 if (e.ne.'bcde'.or.f(1).ne.'e'.or.f(2).ne.'f') STOP 8 end subroutine test4 program main call test1 call test2 call test3 call test4 end program main