aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/compilers.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r--mesonbuild/compilers/compilers.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index ca8c09c..306e5d6 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -19,7 +19,10 @@ from ..linkers import StaticLinker
from .. import coredata
from .. import mlog
from .. import mesonlib
-from ..mesonlib import EnvironmentException, MesonException, OrderedSet, version_compare, Popen_safe
+from ..mesonlib import (
+ EnvironmentException, MesonException, OrderedSet, version_compare,
+ Popen_safe
+)
"""This file contains the data files of all compilers Meson knows
about. To support a new compiler, add its information below.
@@ -1733,6 +1736,7 @@ class ArmclangCompiler:
# Tested on linux for ICC 14.0.3, 15.0.6, 16.0.4, 17.0.1, 19.0.0
class IntelCompiler(GnuLikeCompiler):
+
def __init__(self, compiler_type):
super().__init__(compiler_type)
# As of 19.0.0 ICC doesn't have sanitizer, color, or lto support.
@@ -1764,9 +1768,16 @@ class IntelCompiler(GnuLikeCompiler):
else:
return ['-openmp']
- def has_arguments(self, args, env, code, mode):
- # -diag-error 10148 is required to catch invalid -W options
- return super().has_arguments(args + ['-diag-error', '10006', '-diag-error', '10148'], env, code, mode)
+ def compiles(self, *args, **kwargs):
+ # This covers a case that .get('foo', []) doesn't, that extra_args is
+ # defined and is None
+ extra_args = kwargs.get('extra_args') or []
+ kwargs['extra_args'] = [
+ extra_args,
+ '-diag-error', '10006', # ignoring unknown option
+ '-diag-error', '10148', # Option not supported
+ ]
+ return super().compiles(*args, **kwargs)
class ArmCompiler: