URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gfortran.dg/] [char_eoshift_2.f90] - Rev 302
Compare with Previous | Blame | View Log
! Test eoshift1 for character arrays.! { dg-do run }program mainimplicit noneinteger, parameter :: n1 = 2, n2 = 5, n3 = 4, slen = 3character (len = slen), dimension (n1, n2, n3) :: acharacter (len = slen) :: fillerinteger (kind = 1), dimension (n1, n3) :: shift1integer (kind = 2), dimension (n1, n3) :: shift2integer (kind = 4), dimension (n1, n3) :: shift3integer (kind = 8), dimension (n1, n3) :: shift4integer :: i1, i2, i3shift1 (1, :) = (/ 1, 3, 2, 2 /)shift1 (2, :) = (/ 2, 1, 1, 3 /)shift2 = shift1shift3 = shift1shift4 = shift1do i3 = 1, n3do i2 = 1, n2do i1 = 1, n1a (i1, i2, i3) = 'ab'(i1:i1) // 'cdefg'(i2:i2) // 'hijk'(i3:i3)end doend doend docall test (eoshift (a, shift1, 'foo', 2), 'foo')call test (eoshift (a, shift2, 'foo', 2), 'foo')call test (eoshift (a, shift3, 'foo', 2), 'foo')call test (eoshift (a, shift4, 'foo', 2), 'foo')filler = ''call test (eoshift (a, shift1, dim = 2), filler)call test (eoshift (a, shift2, dim = 2), filler)call test (eoshift (a, shift3, dim = 2), filler)call test (eoshift (a, shift4, dim = 2), filler)containssubroutine test (b, filler)character (len = slen), dimension (n1, n2, n3) :: bcharacter (len = slen) :: fillerinteger :: i2pdo i3 = 1, n3do i2 = 1, n2do i1 = 1, n1i2p = i2 + shift1 (i1, i3)if (i2p .gt. n2) thenif (b (i1, i2, i3) .ne. filler) call abortelseif (b (i1, i2, i3) .ne. a (i1, i2p, i3)) call abortend ifend doend doend doend subroutine testend program main
