diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/winapi.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/winapi.f90 | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/winapi.f90 b/gcc/testsuite/gfortran.dg/winapi.f90 new file mode 100644 index 000000000..0ee3920ff --- /dev/null +++ b/gcc/testsuite/gfortran.dg/winapi.f90 @@ -0,0 +1,23 @@ +! { 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 |