diff options
author | Michael Hirsch, Ph.D <scivision@users.noreply.github.com> | 2019-02-08 12:06:20 -0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-02-09 00:34:02 +0200 |
commit | eccc59874df6ecbc41471069f73b5c20809d384e (patch) | |
tree | b0aa9d7549079e2ca9677ffaeec0cce4a26cb3f8 | |
parent | a75bda7154c043994323d54acf16e7c4665eb1a7 (diff) | |
download | meson-eccc59874df6ecbc41471069f73b5c20809d384e.zip meson-eccc59874df6ecbc41471069f73b5c20809d384e.tar.gz meson-eccc59874df6ecbc41471069f73b5c20809d384e.tar.bz2 |
BUGFIX: handle Fortran 2003 "use" syntax
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 66d42b0..6524765 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -1866,7 +1866,7 @@ rule FORTRAN_DEP_HACK%s def get_fortran_deps(self, compiler: FortranCompiler, src: str, target) -> List[str]: mod_files = [] - usere = re.compile(r"\s*use\s+(\w+)", re.IGNORECASE) + usere = re.compile(r"\s*use,?\s*(?:non_intrinsic)?\s*(?:::)?\s*(\w+)", re.IGNORECASE) submodre = re.compile(r"\s*\bsubmodule\b\s+\((\w+:?\w+)\)\s+(\w+)\s*$", re.IGNORECASE) dirname = self.get_target_private_dir(target) tdeps = self.fortran_deps[target.get_basename()] @@ -1875,6 +1875,8 @@ rule FORTRAN_DEP_HACK%s usematch = usere.match(line) if usematch is not None: usename = usematch.group(1).lower() + if usename == 'intrinsic': # this keeps the regex simpler + continue if usename not in tdeps: # The module is not provided by any source file. This # is due to: |