1! { dg-do run }
2! PR tree-optimization/30092
3! This caused once an ICE due to internal tree changes
4program test
5  implicit none
6  integer, parameter :: N = 30
7  real, dimension(N) :: rho, pre, cs
8  real               :: gamma
9  gamma = 2.1314
10  rho = 5.0
11  pre = 3.0
12  call EOS(N, rho, pre, cs, gamma)
13  if (abs(CS(1) - sqrt(gamma*pre(1)/rho(1))) > epsilon(cs)) &
14     call abort()
15contains
16      SUBROUTINE EOS(NODES, DENS, PRES, CS, CGAMMA)
17      IMPLICIT NONE
18      INTEGER NODES
19      REAL CGAMMA
20      REAL, DIMENSION(NODES) :: DENS, PRES, CS
21      REAL, PARAMETER :: RGAS = 8.314
22      CS(:NODES) = SQRT(CGAMMA*PRES(:NODES)/DENS(:NODES))
23      END SUBROUTINE EOS
24end program test
25