! { dg-do run } ! { dg-options "-finit-real=NAN" } ! { dg-add-options ieee } ! { dg-skip-if "NaN not supported" { spu-*-* } } ! ! PR fortran/50619 ! ! Contributed by Fred Krogh ! ! The NaN initialization used to set the associate name to NaN! ! module testa2 type, public :: test_ty real :: rmult = 1.0e0 end type test_ty contains subroutine test(e, var1) type(test_ty) :: e real :: var1, var2 ! Should get NaN initialized ! Should be the default value if (e%rmult /= 1.0) STOP 1 ! Check that NaN initialization is really turned on if (var1 == var1) STOP 2 if (var2 == var2) STOP 3 ! The following was failing: associate (rmult=>e%rmult) if (e%rmult /= 1.0) STOP 4 end associate end subroutine test end module testa2 program testa1 use testa2 type(test_ty) :: e real :: var1 ! Should get NaN initialized call test(e, var1) stop end program testa1