aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hirsch, Ph.D <scivision@users.noreply.github.com>2019-02-08 12:06:20 -0500
committerJussi Pakkanen <jpakkane@gmail.com>2019-02-09 00:34:02 +0200
commiteccc59874df6ecbc41471069f73b5c20809d384e (patch)
treeb0aa9d7549079e2ca9677ffaeec0cce4a26cb3f8
parenta75bda7154c043994323d54acf16e7c4665eb1a7 (diff)
downloadmeson-eccc59874df6ecbc41471069f73b5c20809d384e.zip
meson-eccc59874df6ecbc41471069f73b5c20809d384e.tar.gz
meson-eccc59874df6ecbc41471069f73b5c20809d384e.tar.bz2
BUGFIX: handle Fortran 2003 "use" syntax
-rw-r--r--mesonbuild/backend/ninjabackend.py4
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: