URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 302 |
Rev 384 |
! { dg-do run }
|
! { dg-do run }
|
! Tests the fix for PR33998, in which the chain of expressions
|
! Tests the fix for PR33998, in which the chain of expressions
|
! determining the character length of my_string were not being
|
! determining the character length of my_string were not being
|
! resolved by the formal to actual mapping.
|
! resolved by the formal to actual mapping.
|
!
|
!
|
! Contributed by Tobias Burnus
|
! Contributed by Tobias Burnus
|
!
|
!
|
module test
|
module test
|
implicit none
|
implicit none
|
contains
|
contains
|
function my_string(x)
|
function my_string(x)
|
integer i
|
integer i
|
real, intent(in) :: x(:)
|
real, intent(in) :: x(:)
|
character(0) h4(1:minval([(i,i=30,32), 15]))
|
character(0) h4(1:minval([(i,i=30,32), 15]))
|
character(0) sv1(size(x,1):size(h4))
|
character(0) sv1(size(x,1):size(h4))
|
character(0) sv2(2*lbound(sv1,1):size(h4))
|
character(0) sv2(2*lbound(sv1,1):size(h4))
|
character(lbound(sv2,1)-3) my_string
|
character(lbound(sv2,1)-3) my_string
|
|
|
do i = 1, len(my_string)
|
do i = 1, len(my_string)
|
my_string(i:i) = achar(modulo(i-1,10)+iachar('0'))
|
my_string(i:i) = achar(modulo(i-1,10)+iachar('0'))
|
end do
|
end do
|
end function my_string
|
end function my_string
|
end module test
|
end module test
|
|
|
program len_test
|
program len_test
|
use test
|
use test
|
implicit none
|
implicit none
|
real x(7)
|
real x(7)
|
|
|
if (my_string(x) .ne. "01234567890") call abort ()
|
if (my_string(x) .ne. "01234567890") call abort ()
|
end program len_test
|
end program len_test
|
! { dg-final { cleanup-modules "test" } }
|
! { dg-final { cleanup-modules "test" } }
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.