aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-09-04 22:28:09 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2016-09-04 22:28:25 +0300
commitb289547971f3bf11eae6da195ed4ed014aa57fdd (patch)
treed67a453172692bdb3600fed88040878e6fa33974
parentba0456748e1c9e988fdcd4510bf04f0ad9e2ed6b (diff)
downloadmeson-b289547971f3bf11eae6da195ed4ed014aa57fdd.zip
meson-b289547971f3bf11eae6da195ed4ed014aa57fdd.tar.gz
meson-b289547971f3bf11eae6da195ed4ed014aa57fdd.tar.bz2
Force clang to error out on unknown arguments. Closes #755.
-rw-r--r--mesonbuild/compilers.py6
-rwxr-xr-xtest cases/common/103 manygen/subdir/manygen.py3
2 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py
index 4088adc..5d3dc99 100644
--- a/mesonbuild/compilers.py
+++ b/mesonbuild/compilers.py
@@ -2126,6 +2126,9 @@ class ClangCCompiler(CCompiler):
def get_option_link_args(self, options):
return []
+ def has_argument(self, arg, env):
+ return super().has_argument(['-Werror=unknown-warning-option', arg], env)
+
class GnuCPPCompiler(CPPCompiler):
# may need to separate the latter to extra_debug_args or something
std_debug_args = ['-g']
@@ -2240,6 +2243,9 @@ class ClangCPPCompiler(CPPCompiler):
def get_option_link_args(self, options):
return []
+ def has_argument(self, arg, env):
+ return super().has_argument(['-Werror=unknown-warning-option', arg], env)
+
class FortranCompiler(Compiler):
def __init__(self, exelist, version, is_cross, exe_wrapper=None):
super().__init__(exelist, version)
diff --git a/test cases/common/103 manygen/subdir/manygen.py b/test cases/common/103 manygen/subdir/manygen.py
index c233ae6..4fd2f25 100755
--- a/test cases/common/103 manygen/subdir/manygen.py
+++ b/test cases/common/103 manygen/subdir/manygen.py
@@ -22,7 +22,8 @@ if not compiler:
shutil.which('clang') or \
shutil.which('cc')
-if 'cl' in os.path.basename(compiler):
+compbase = os.path.basename(compiler)
+if 'cl' in compbase and 'clang' not in compbase:
libsuffix = '.lib'
is_vs = True
compiler = 'cl'