summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2016-05-05 01:41:55 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2016-05-05 01:41:55 -0700
commit13e52962ee59b6e88535d8e38acf25f462e5ec74 (patch)
tree676d81b45fb16b528b77cf612a0dca8ccaae1001 /lib
parent10b0cb108cc5c60916c94580e84930d14a97b9ce (diff)
parente92da6a6ba02bdc3c879f9df8be6ee4aac2583d3 (diff)
downloadspack-13e52962ee59b6e88535d8e38acf25f462e5ec74.tar.gz
spack-13e52962ee59b6e88535d8e38acf25f462e5ec74.tar.bz2
spack-13e52962ee59b6e88535d8e38acf25f462e5ec74.tar.xz
spack-13e52962ee59b6e88535d8e38acf25f462e5ec74.zip
Merge pull request #802 from gartung/std-cpp14
Handle c++11 and c++14 correctly
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/compiler.py3
-rw-r--r--lib/spack/spack/compilers/gcc.py11
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/spack/spack/compiler.py b/lib/spack/spack/compiler.py
index d38c0b00b1..20896f9eec 100644
--- a/lib/spack/spack/compiler.py
+++ b/lib/spack/spack/compiler.py
@@ -97,6 +97,9 @@ class Compiler(object):
# argument used to get C++11 options
cxx11_flag = "-std=c++11"
+ # argument used to get C++14 options
+ cxx14_flag = "-std=c++1y"
+
def __init__(self, cspec, cc, cxx, f77, fc):
def check(exe):
diff --git a/lib/spack/spack/compilers/gcc.py b/lib/spack/spack/compilers/gcc.py
index 64214db32d..2e57e44856 100644
--- a/lib/spack/spack/compilers/gcc.py
+++ b/lib/spack/spack/compilers/gcc.py
@@ -54,9 +54,16 @@ class Gcc(Compiler):
if self.version < ver('4.3'):
tty.die("Only gcc 4.3 and above support c++11.")
elif self.version < ver('4.7'):
- return "-std=gnu++0x"
+ return "-std=c++0x"
else:
- return "-std=gnu++11"
+ return "-std=c++11"
+
+ @property
+ def cxx14_flag(self):
+ if self.version < ver('4.8'):
+ tty.die("Only gcc 4.8 and above support c++14.")
+ else:
+ return "-std=c++14"
@classmethod
def fc_version(cls, fc):