URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
! { dg-do run }
|
! { dg-do run }
|
! Tests the fix for pr28914, in which array constructors using the loop
|
! Tests the fix for pr28914, in which array constructors using the loop
|
! variable within a do loop for the implied do loop of the constructor
|
! variable within a do loop for the implied do loop of the constructor
|
! would result in a corrupted do loop counter.
|
! would result in a corrupted do loop counter.
|
!
|
!
|
! Based on the testscase by Ed Korkven
|
! Based on the testscase by Ed Korkven
|
!
|
!
|
program pr28914
|
program pr28914
|
implicit none
|
implicit none
|
integer n, i
|
integer n, i
|
parameter (n = 66000) ! Problem manifests for n > 65535
|
parameter (n = 66000) ! Problem manifests for n > 65535
|
double precision a(n), summation
|
double precision a(n), summation
|
|
|
summation = 0.0
|
summation = 0.0
|
do i = 1, 1
|
do i = 1, 1
|
a = (/ (i, i = 1, n) /) ! This is legal and was broken
|
a = (/ (i, i = 1, n) /) ! This is legal and was broken
|
a = sqrt(a)
|
a = sqrt(a)
|
summation = SUM(a)
|
summation = SUM(a)
|
enddo
|
enddo
|
summation = abs(summation - 11303932.9138271_8)
|
summation = abs(summation - 11303932.9138271_8)
|
|
|
if (summation.gt.0.00001) call abort()
|
if (summation.gt.0.00001) call abort()
|
end program pr28914
|
end program pr28914
|
|
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.