URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [namelist_42.f90] - Rev 694
Compare with Previous | Blame | View Log
! { dg-do run { target fd_truncate } }
! { dg-add-options ieee }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
! PR fortran/34427
!
! Check that namelists and the real values Inf, NaN, Infinity
! properly coexist.
!
PROGRAM TEST
IMPLICIT NONE
real , DIMENSION(11) ::foo
integer :: infinity
NAMELIST /nl/ foo
NAMELIST /nl/ infinity
foo = -1.0
infinity = -1
open (10, status="scratch")
! Works:
write (10,*) " &nl foo = 5, 5, 5, nan, infinity, infinity "
write (10,*)
write (10,*) " = 1, /"
rewind (10)
READ (10, NML = nl)
close (10)
if(infinity /= 1) call abort()
if(any(foo(1:3) /= [5.0, 5.0, 5.0]) .or. .not.isnan(foo(4)) &
.or. foo(5) <= huge(foo) .or. any(foo(6:11) /= -1.0)) &
call abort()
! Works too:
foo = -1.0
infinity = -1
open (10, status="scratch")
rewind (10)
write (10,'(a)') "&nl foo = 5, 5, 5, nan, infinity, infinity"
write (10,'(a)') "=1,/"
rewind (10)
READ (10, NML = nl)
CLOSE (10)
if(infinity /= 1) call abort()
if(any(foo(1:3) /= [5.0, 5.0, 5.0]) .or. .not.isnan(foo(4)) &
.or. foo(5) <= huge(foo) .or. any(foo(6:11) /= -1.0)) &
call abort()
END PROGRAM TEST