! { dg-do run }
|
! { dg-do run }
|
module iso_fortran_env
|
module iso_fortran_env
|
real :: x
|
real :: x
|
end module iso_fortran_env
|
end module iso_fortran_env
|
|
|
subroutine bar
|
subroutine bar
|
use , intrinsic :: iso_fortran_env
|
use , intrinsic :: iso_fortran_env
|
implicit none
|
implicit none
|
|
|
if (file_storage_size /= 8) call abort
|
if (file_storage_size /= 8) call abort
|
if (character_storage_size /= 8) call abort
|
if (character_storage_size /= 8) call abort
|
if (all (numeric_storage_size /= [ 8, 16, 32, 64, 128])) call abort
|
if (all (numeric_storage_size /= [ 8, 16, 32, 64, 128])) call abort
|
if (input_unit /= 5) call abort
|
if (input_unit /= 5) call abort
|
if (output_unit /= 6) call abort
|
if (output_unit /= 6) call abort
|
if (error_unit /= 0) call abort
|
if (error_unit /= 0) call abort
|
if (iostat_end /= -1) call abort
|
if (iostat_end /= -1) call abort
|
if (iostat_eor /= -2) call abort
|
if (iostat_eor /= -2) call abort
|
end
|
end
|
|
|
subroutine bar2
|
subroutine bar2
|
use , intrinsic :: iso_fortran_env, only : file_storage_size, &
|
use , intrinsic :: iso_fortran_env, only : file_storage_size, &
|
character_storage_size, numeric_storage_size, input_unit, output_unit, &
|
character_storage_size, numeric_storage_size, input_unit, output_unit, &
|
error_unit, iostat_end, iostat_eor
|
error_unit, iostat_end, iostat_eor
|
implicit none
|
implicit none
|
|
|
if (file_storage_size /= 8) call abort
|
if (file_storage_size /= 8) call abort
|
if (character_storage_size /= 8) call abort
|
if (character_storage_size /= 8) call abort
|
if (all (numeric_storage_size /= [ 8, 16, 32, 64, 128])) call abort
|
if (all (numeric_storage_size /= [ 8, 16, 32, 64, 128])) call abort
|
if (input_unit /= 5) call abort
|
if (input_unit /= 5) call abort
|
if (output_unit /= 6) call abort
|
if (output_unit /= 6) call abort
|
if (error_unit /= 0) call abort
|
if (error_unit /= 0) call abort
|
if (iostat_end /= -1) call abort
|
if (iostat_end /= -1) call abort
|
if (iostat_eor /= -2) call abort
|
if (iostat_eor /= -2) call abort
|
end
|
end
|
|
|
program test
|
program test
|
use , intrinsic :: iso_fortran_env, uu => output_unit
|
use , intrinsic :: iso_fortran_env, uu => output_unit
|
implicit none
|
implicit none
|
|
|
if (input_unit /= 5 .or. uu /= 6) call abort
|
if (input_unit /= 5 .or. uu /= 6) call abort
|
call bar
|
call bar
|
call bar2
|
call bar2
|
end
|
end
|
! { dg-final { cleanup-modules "iso_fortran_env" } }
|
! { dg-final { cleanup-modules "iso_fortran_env" } }
|
|
|