!==================initialization_1.f90======================

! { dg-do compile }
! Tests fix for PR25018 in which an ICE resulted from using a
! variable in a parameter initialization expression. In the course
! of developing the fix, various other constraints and limitations
! were tested.
!
! Contributed by Paul Thomas  <pault@gcc.gnu.org>
!
module const
! The next line is the original error
  real(8), parameter :: g = - sqrt(2._8) * Gf ! { dg-error "not been declared or is a variable" }
contains
  subroutine foo(ch1, x, y)
    character(*)        :: ch1

! This is OK because it is a restricted expression.
    character(len(ch1)) :: ch2

    real(8) :: x (1:2, *)
    real(8) :: y (0:,:)
    integer :: i
    real :: z(2, 2)

! However, this gives a warning because it is an initialization expression.
    integer :: l1 = len (ch1)     ! { dg-warning "assumed character length variable" }

! These are warnings because they are gfortran extensions.
    integer :: m3 = size (x, 1)   ! { dg-warning "Evaluation of nonstandard initialization" }
    integer :: m4(2) = shape (z)  ! { dg-warning "Evaluation of nonstandard initialization" }

! This does not depend on non-constant properties.
    real(8) :: big = huge (x)

  end subroutine foo  
end module const

! { dg-final { cleanup-modules "const" } }
