URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [array_assignment_1.F90] - Rev 694
Compare with Previous | Blame | View Log
! { dg-do run }! { dg-options "-ffree-line-length-none" }! Test that different array assignments work even when interleaving,! reversing etc. Make sure the results from assignment with constants! as array triples and runtime array triples (where we always create! a temporary) match.#define TST(b,c,d,e,f,g,r) a=init; a(b:c:d) = a(e:f:g); \write(unit=line ,fmt="(9I1)") a;\if (line /= r) call abort ; \call mytst(b,c,d,e,f,g,r);program mainimplicit noneinteger :: iinteger, parameter :: n=9integer, dimension(n) :: acharacter(len=n) :: lineinteger, dimension(n), parameter :: init = (/(i,i=1,n)/)TST(2,n,2,1,n-1,2,'113355779')TST(3,9,3,2,6,2,'122454786');TST(1,8,2,3,9,2,'325476989');TST(1,6,1,4,9,1,'456789789');TST(9,5,-1,1,5,1,'123454321');TST(9,5,-2,1,5,2,'123456381');TST(5,9,2,5,1,-2,'123456381');TST(1,6,1,2,7,1,'234567789');TST(2,7,1,1,6,1,'112345689');end program mainsubroutine mytst(b,c,d,e,f,g,r)integer,intent(in) :: b,c,d,e,f,gcharacter(len=9), intent(in) :: rcharacter(len=9) :: lineinteger, dimension(9) :: aa = (/(i,i=1,9)/)a(b:c:d) = a(e:f:g)write (unit=line,fmt='(9I1)') aif (line /= r) call abortend subroutine mytst
