rt_gccstream/gcc/testsuite/gfortran.dg/c_sizeof_1.f90

41 lines
620 B
Fortran

! { dg-do run }
! Support F2008's c_sizeof()
!
integer(4) :: i, j(10)
character(4),parameter :: str(1) = "abcd"
! Using F2008's C_SIZEOF
i = c_sizeof(i)
if (i /= 4) call abort()
i = c_sizeof(j)
if (i /= 40) call abort()
i = c_sizeof(str)
if (i /= 4) call abort()
i = c_sizeof(str(1))
if (i /= 4) call abort()
i = c_sizeof(str(1)(1:3))
print *, i
if (i /= 3) call abort()
! Using GNU's SIZEOF
i = sizeof(i)
if (i /= 4) call abort()
i = sizeof(j)
if (i /= 40) call abort()
i = sizeof(str)
if (i /= 4) call abort()
i = sizeof(str(1))
if (i /= 4) call abort()
i = sizeof(str(1)(1:3))
if (i /= 3) call abort()
end