From eccc59874df6ecbc41471069f73b5c20809d384e Mon Sep 17 00:00:00 2001 From: "Michael Hirsch, Ph.D" Date: Fri, 8 Feb 2019 12:06:20 -0500 Subject: BUGFIX: handle Fortran 2003 "use" syntax --- mesonbuild/backend/ninjabackend.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mesonbuild/backend') 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: -- cgit v1.1