mirror of
https://github.com/autc04/Retro68.git
synced 2024-09-28 18:56:06 +00:00
44 lines
918 B
Fortran
44 lines
918 B
Fortran
! { 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
|