diff options
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r-- | mesonbuild/compilers/__init__.py | 2 | ||||
-rw-r--r-- | mesonbuild/compilers/compilers.py | 6 | ||||
-rw-r--r-- | mesonbuild/compilers/fortran.py | 14 |
3 files changed, 20 insertions, 2 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..758b1c3 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -1617,7 +1617,11 @@ class PGICompiler: return ['-silent'] def openmp_flags(self): - return ['-fopenmp'] + return ['-mp'] + + def get_allow_undefined_link_args(self): + return [] + class ElbrusCompiler(GnuCompiler): # Elbrus compiler is nearly like GCC, but does not support diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py index 2eb4c71..57d1dd9 100644 --- a/mesonbuild/compilers/fortran.py +++ b/mesonbuild/compilers/fortran.py @@ -22,6 +22,7 @@ from .compilers import ( clike_debug_args, Compiler, GnuCompiler, + ClangCompiler, ElbrusCompiler, IntelCompiler, PGICompiler @@ -370,7 +371,7 @@ class PathScaleFortranCompiler(FortranCompiler): return ['-mp'] -class PGIFortranCompiler(FortranCompiler): +class PGIFortranCompiler(PGICompiler, FortranCompiler): def __init__(self, exelist, version, is_cross, exe_wrapper=None, **kwags): FortranCompiler.__init__(self, exelist, version, is_cross, exe_wrapper, **kwags) PGICompiler.__init__(self, CompilerType.PGI_STANDARD) @@ -382,6 +383,17 @@ class PGIFortranCompiler(FortranCompiler): return val +class FlangFortranCompiler(ClangCompiler, FortranCompiler): + def __init__(self, exelist, version, is_cross, exe_wrapper=None, **kwags): + FortranCompiler.__init__(self, exelist, version, is_cross, exe_wrapper, **kwags) + ClangCompiler.__init__(self, CompilerType.CLANG_STANDARD) + self.id = 'flang' + default_warn_args = ['-Minform=inform'] + self.warn_args = {'1': default_warn_args, + '2': default_warn_args, + '3': default_warn_args} + + class Open64FortranCompiler(FortranCompiler): def __init__(self, exelist, version, is_cross, exe_wrapper=None, **kwags): FortranCompiler.__init__(self, exelist, version, is_cross, exe_wrapper, **kwags) |