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

24 lines
644 B
Fortran

! { dg-do run { target *-*-cygwin* *-*-mingw* } }
! { dg-options "-lkernel32" }
! Test case provided by Dennis Wassel.
PROGRAM winapi
USE, INTRINSIC :: iso_c_binding
IMPLICIT NONE
INTERFACE
! Specifically select the lstrlenA version for ASCII.
FUNCTION lstrlen(string) BIND(C, name = "lstrlenA")
USE, INTRINSIC :: iso_c_binding
IMPLICIT NONE
!GCC$ ATTRIBUTES STDCALL :: lstrlen
INTEGER (C_INT) :: lstrlen
CHARACTER(KIND=C_CHAR), INTENT(in) :: string(*)
END FUNCTION lstrlen
END INTERFACE
IF (lstrlen(C_CHAR_"winapi"//C_NULL_CHAR) /= 6) CALL abort()
END PROGRAM winapi