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_pack_1.f90] - Rev 302
Compare with Previous | Blame | View Log
! Test (non-scalar) pack for character arrays.! { dg-do run }program mainimplicit noneinteger, parameter :: n1 = 3, n2 = 4, nv = 10, slen = 9character (len = slen), dimension (n1, n2) :: acharacter (len = slen), dimension (nv) :: vectorlogical, dimension (n1, n2) :: maskinteger :: i1, i2, ido i2 = 1, n2do i1 = 1, n1a (i1, i2) = 'abc'(i1:i1) // 'defg'(i2:i2) // 'cantrip'end doend domask (1, :) = (/ .true., .false., .true., .true. /)mask (2, :) = (/ .true., .false., .false., .false. /)mask (3, :) = (/ .false., .true., .true., .true. /)do i = 1, nvvector (i) = 'crespo' // '0123456789'(i:i)end docall test1 (pack (a, mask))call test2 (pack (a, mask, vector))containssubroutine test1 (b)character (len = slen), dimension (:) :: bi = 0do i2 = 1, n2do i1 = 1, n1if (mask (i1, i2)) theni = i + 1if (b (i) .ne. a (i1, i2)) call abortend ifend doend doif (size (b, 1) .ne. i) call abortend subroutine test1subroutine test2 (b)character (len = slen), dimension (:) :: bif (size (b, 1) .ne. nv) call aborti = 0do i2 = 1, n2do i1 = 1, n1if (mask (i1, i2)) theni = i + 1if (b (i) .ne. a (i1, i2)) call abortend ifend doend dodo i = i + 1, nvif (b (i) .ne. vector (i)) call abortend doend subroutine test2end program main
