aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/__init__.py2
-rw-r--r--mesonbuild/compilers/compilers.py23
-rw-r--r--mesonbuild/compilers/fortran.py7
3 files changed, 32 insertions, 0 deletions
diff --git a/mesonbuild/compilers/__init__.py b/mesonbuild/compilers/__init__.py
index b5b2475..b4807c6 100644
--- a/mesonbuild/compilers/__init__.py
+++ b/mesonbuild/compilers/__init__.py
@@ -62,6 +62,7 @@ __all__ = [
'GnuDCompiler',
'GnuFortranCompiler',
'ElbrusFortranCompiler',
+ 'FlangFortranCompiler',
'GnuObjCCompiler',
'GnuObjCPPCompiler',
'IntelCompiler',
@@ -153,6 +154,7 @@ from .fortran import (
G95FortranCompiler,
GnuFortranCompiler,
ElbrusFortranCompiler,
+ FlangFortranCompiler,
IntelFortranCompiler,
NAGFortranCompiler,
Open64FortranCompiler,
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 34c0e3b..1e86978 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -1311,6 +1311,8 @@ class CompilerType(enum.Enum):
PGI_STANDARD = 50
+ FLANG_STANDARD = 60
+
@property
def is_standard_compiler(self):
return self.name in ('GCC_STANDARD', 'CLANG_STANDARD', 'ICC_STANDARD')
@@ -1619,6 +1621,27 @@ class PGICompiler:
def openmp_flags(self):
return ['-fopenmp']
+
+class FlangCompiler:
+ def __init__(self, compiler_type):
+ self.id = 'flang'
+ self.compiler_type = compiler_type
+
+ default_warn_args = ['-Minform=inform']
+ self.warn_args = {'1': default_warn_args,
+ '2': default_warn_args,
+ '3': default_warn_args}
+
+ def get_module_incdir_args(self):
+ return ('-module', )
+
+ def get_no_warn_args(self):
+ return ['-silent']
+
+ def openmp_flags(self):
+ return ['-fopenmp']
+
+
class ElbrusCompiler(GnuCompiler):
# Elbrus compiler is nearly like GCC, but does not support
# PCH, LTO, sanitizers and color output as of version 1.21.x.
diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py
index 2eb4c71..911df46 100644
--- a/mesonbuild/compilers/fortran.py
+++ b/mesonbuild/compilers/fortran.py
@@ -22,6 +22,7 @@ from .compilers import (
clike_debug_args,
Compiler,
GnuCompiler,
+ FlangCompiler,
ElbrusCompiler,
IntelCompiler,
PGICompiler
@@ -382,6 +383,12 @@ class PGIFortranCompiler(FortranCompiler):
return val
+class FlangFortranCompiler(FortranCompiler):
+ def __init__(self, exelist, version, is_cross, exe_wrapper=None, **kwags):
+ FortranCompiler.__init__(self, exelist, version, is_cross, exe_wrapper, **kwags)
+ FlangCompiler.__init__(self, CompilerType.FLANG_STANDARD)
+
+
class Open64FortranCompiler(FortranCompiler):
def __init__(self, exelist, version, is_cross, exe_wrapper=None, **kwags):
FortranCompiler.__init__(self, exelist, version, is_cross, exe_wrapper, **kwags)