aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2022-07-06 23:12:43 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2022-07-06 23:12:43 +0300
commite89d068d51f29e4cd2b5135d6b42979f0d2ccd0b (patch)
tree51fb3e835d0da8020a2c4fc8aad71d1f4530b11e
parent15078112f9a04915d702d7a07018589cccdccf20 (diff)
downloadmeson-ignoreencodingerrors.zip
meson-ignoreencodingerrors.tar.gz
meson-ignoreencodingerrors.tar.bz2
Ignore encoding errors when scanning. Closes #10571.ignoreencodingerrors
In Fortran and C++ all the bits we care about are in ASCII. 8-bit characters can only occur in comments and string literals and we don't parse those.
-rw-r--r--mesonbuild/scripts/depscan.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/mesonbuild/scripts/depscan.py b/mesonbuild/scripts/depscan.py
index 6f92715..5fa30cb 100644
--- a/mesonbuild/scripts/depscan.py
+++ b/mesonbuild/scripts/depscan.py
@@ -62,7 +62,7 @@ class DependencyScanner:
def scan_fortran_file(self, fname: str) -> None:
fpath = pathlib.Path(fname)
modules_in_this_file = set()
- for line in fpath.read_text(encoding='utf-8').split('\n'):
+ for line in fpath.read_text(encoding='utf-8', errors='ignore').split('\n'):
import_match = FORTRAN_USE_RE.match(line)
export_match = FORTRAN_MODULE_RE.match(line)
submodule_export_match = FORTRAN_SUBMOD_RE.match(line)
@@ -112,7 +112,7 @@ class DependencyScanner:
def scan_cpp_file(self, fname: str) -> None:
fpath = pathlib.Path(fname)
- for line in fpath.read_text(encoding='utf-8').split('\n'):
+ for line in fpath.read_text(encoding='utf-8', errors='ignore').split('\n'):
import_match = CPP_IMPORT_RE.match(line)
export_match = CPP_EXPORT_RE.match(line)
if import_match: