diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index e8fae8e22..8ab57ead0 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -1722,8 +1722,8 @@ rule FORTRAN_DEP_HACK for line in f: modmatch = modre.match(line) if modmatch is not None: - modname = modmatch.group(1) - if modname.lower() == 'procedure': + modname = modmatch.group(1).lower() + if modname == 'procedure': # MODULE PROCEDURE construct continue if modname in module_files: @@ -1743,7 +1743,7 @@ rule FORTRAN_DEP_HACK for line in f: usematch = usere.match(line) if usematch is not None: - usename = usematch.group(1) + usename = usematch.group(1).lower() if usename not in tdeps: # The module is not provided by any source file. This # is due to: diff --git a/test cases/fortran/8 module names/meson.build b/test cases/fortran/8 module names/meson.build new file mode 100644 index 000000000..632c59788 --- /dev/null +++ b/test cases/fortran/8 module names/meson.build @@ -0,0 +1,6 @@ +project('mod_name_case', 'fortran') + +sources = ['test.f90', 'mod1.f90', 'mod2.f90'] + +exe = executable('mod_name_case', sources) +test('mod_name_case', exe) diff --git a/test cases/fortran/8 module names/mod1.f90 b/test cases/fortran/8 module names/mod1.f90 new file mode 100644 index 000000000..69cc9003d --- /dev/null +++ b/test cases/fortran/8 module names/mod1.f90 @@ -0,0 +1,6 @@ +module MyMod1 + implicit none + + integer, parameter :: myModVal1 = 1 + +end module MyMod1 diff --git a/test cases/fortran/8 module names/mod2.f90 b/test cases/fortran/8 module names/mod2.f90 new file mode 100644 index 000000000..971df443e --- /dev/null +++ b/test cases/fortran/8 module names/mod2.f90 @@ -0,0 +1,6 @@ +module mymod2 + implicit none + + integer, parameter :: myModVal2 = 2 + +end module mymod2 diff --git a/test cases/fortran/8 module names/test.f90 b/test cases/fortran/8 module names/test.f90 new file mode 100644 index 000000000..ff5a54577 --- /dev/null +++ b/test cases/fortran/8 module names/test.f90 @@ -0,0 +1,7 @@ +program test + use mymod1 + use MyMod2 + + integer, parameter :: testVar = myModVal1 + myModVal2 + +end program test