diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/array_2.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/array_2.f90 | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/array_2.f90 b/gcc/testsuite/gfortran.dg/array_2.f90 new file mode 100644 index 000000000..d182f044a --- /dev/null +++ b/gcc/testsuite/gfortran.dg/array_2.f90 @@ -0,0 +1,24 @@ +! { dg-do run } +! PR tree-optimization/30092 +! This caused once an ICE due to internal tree changes +program test + implicit none + integer, parameter :: N = 30 + real, dimension(N) :: rho, pre, cs + real :: gamma + gamma = 2.1314 + rho = 5.0 + pre = 3.0 + call EOS(N, rho, pre, cs, gamma) + if (abs(CS(1) - sqrt(gamma*pre(1)/rho(1))) > epsilon(cs)) & + call abort() +contains + SUBROUTINE EOS(NODES, DENS, PRES, CS, CGAMMA) + IMPLICIT NONE + INTEGER NODES + REAL CGAMMA + REAL, DIMENSION(NODES) :: DENS, PRES, CS + REAL, PARAMETER :: RGAS = 8.314 + CS(:NODES) = SQRT(CGAMMA*PRES(:NODES)/DENS(:NODES)) + END SUBROUTINE EOS +end program test |