aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorMichael Hirsch, Ph.D <scivision@users.noreply.github.com>2019-01-14 22:38:05 -0500
committerJussi Pakkanen <jpakkane@gmail.com>2019-01-15 20:27:31 +0200
commitfff88b354ae8e91cd87a115cf0d3ea851aece740 (patch)
tree5eb203c93377170f44745a9c3cfeafdb4f4c1fe8 /mesonbuild/compilers
parent4de093c8d513273649dfec35947c210327a4178f (diff)
downloadmeson-fff88b354ae8e91cd87a115cf0d3ea851aece740.zip
meson-fff88b354ae8e91cd87a115cf0d3ea851aece740.tar.gz
meson-fff88b354ae8e91cd87a115cf0d3ea851aece740.tar.bz2
restore PGI compile functioning
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/compilers.py21
-rw-r--r--mesonbuild/compilers/fortran.py20
2 files changed, 28 insertions, 13 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 3ef4ffc..34c0e3b 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -1309,6 +1309,8 @@ class CompilerType(enum.Enum):
CCRX_WIN = 40
+ PGI_STANDARD = 50
+
@property
def is_standard_compiler(self):
return self.name in ('GCC_STANDARD', 'CLANG_STANDARD', 'ICC_STANDARD')
@@ -1598,6 +1600,25 @@ class GnuCompiler(GnuLikeCompiler):
return ['-fopenmp']
+class PGICompiler:
+ def __init__(self, compiler_type):
+ self.id = 'pgi'
+ 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 8056969..2eb4c71 100644
--- a/mesonbuild/compilers/fortran.py
+++ b/mesonbuild/compilers/fortran.py
@@ -24,6 +24,7 @@ from .compilers import (
GnuCompiler,
ElbrusCompiler,
IntelCompiler,
+ PGICompiler
)
from mesonbuild.mesonlib import EnvironmentException, is_osx
@@ -372,20 +373,13 @@ class PathScaleFortranCompiler(FortranCompiler):
class PGIFortranCompiler(FortranCompiler):
def __init__(self, exelist, version, is_cross, exe_wrapper=None, **kwags):
FortranCompiler.__init__(self, exelist, version, is_cross, exe_wrapper, **kwags)
- self.id = 'pgi'
- 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']
+ PGICompiler.__init__(self, CompilerType.PGI_STANDARD)
- def openmp_flags(self):
- return ['-fopenmp']
+ def get_always_args(self):
+ """PGI doesn't have -pipe."""
+ val = super().get_always_args()
+ val.remove('-pipe')
+ return val
class Open64FortranCompiler(FortranCompiler):