OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gfortran.dg/] [func_assign_2.f90] - Diff between revs 302 and 384

Only display areas with differences | Details | Blame | View Log

Rev 302 Rev 384
! { dg-do run }
! { dg-do run }
! Test the fix for PR40551 in which the assignment
! Test the fix for PR40551 in which the assignment
! was not dealing correctly with non-contiguous lhs
! was not dealing correctly with non-contiguous lhs
! references; eg. a(1,:)
! references; eg. a(1,:)
!
!
! Reported by by Maciej Zwierzycki
! Reported by by Maciej Zwierzycki
! at http://gcc.gnu.org/ml/fortran/2009-06/msg00254.html
! at http://gcc.gnu.org/ml/fortran/2009-06/msg00254.html
! and by Tobias Burnus  on Bugzilla
! and by Tobias Burnus  on Bugzilla
!
!
integer :: a(2,2)
integer :: a(2,2)
a = -42
a = -42
a(1,:) = func()
a(1,:) = func()
if (any (reshape (a, [4]) /= [1, -42, 2, -42])) call abort
if (any (reshape (a, [4]) /= [1, -42, 2, -42])) call abort
a = -42
a = -42
a(2,:) = func()
a(2,:) = func()
if (any (reshape (a, [4]) /= [-42, 1, -42, 2])) call abort
if (any (reshape (a, [4]) /= [-42, 1, -42, 2])) call abort
a = -42
a = -42
a(:,1) = func()
a(:,1) = func()
if (any (reshape (a, [4]) /= [1, 2, -42, -42])) call abort
if (any (reshape (a, [4]) /= [1, 2, -42, -42])) call abort
a = -42
a = -42
a(:,2) = func()
a(:,2) = func()
if (any (reshape (a, [4]) /= [-42, -42, 1, 2])) call abort
if (any (reshape (a, [4]) /= [-42, -42, 1, 2])) call abort
contains
contains
 function func()
 function func()
   integer :: func(2)
   integer :: func(2)
   call sub(func)
   call sub(func)
 end function func
 end function func
 subroutine sub(a)
 subroutine sub(a)
   integer :: a(2)
   integer :: a(2)
   a = [1,2]
   a = [1,2]
 end subroutine
 end subroutine
end
end
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.