diff options
Diffstat (limited to 'meson/test cases/fortran/3 module procedure')
-rw-r--r-- | meson/test cases/fortran/3 module procedure/meson.build | 5 | ||||
-rw-r--r-- | meson/test cases/fortran/3 module procedure/use_syntax.f90 | 31 |
2 files changed, 36 insertions, 0 deletions
diff --git a/meson/test cases/fortran/3 module procedure/meson.build b/meson/test cases/fortran/3 module procedure/meson.build new file mode 100644 index 000000000..a59001570 --- /dev/null +++ b/meson/test cases/fortran/3 module procedure/meson.build @@ -0,0 +1,5 @@ +project('Fortran 2003 use statement, in same file', 'fortran', + meson_version: '>= 0.50.0') + +e = executable('use_syntax', 'use_syntax.f90') +test('Fortran 2003 use syntax', e) diff --git a/meson/test cases/fortran/3 module procedure/use_syntax.f90 b/meson/test cases/fortran/3 module procedure/use_syntax.f90 new file mode 100644 index 000000000..2f3a9e652 --- /dev/null +++ b/meson/test cases/fortran/3 module procedure/use_syntax.f90 @@ -0,0 +1,31 @@ +module circle +implicit none + +integer :: x +real :: radius + +interface default + module procedure timestwo +end interface + +contains + +elemental integer function timestwo(x) result(y) + integer, intent(in) :: x + y = 2*x +end function +end module circle + +program prog + +use, non_intrinsic :: circle, only: timestwo, x + +implicit none + +x = 3 + +if (timestwo(x) /= 6) error stop 'fortran module procedure problem' + +print *,'OK: Fortran module procedure' + +end program prog |