diff --git a/lib/spack/spack/compiler.py b/lib/spack/spack/compiler.py
index d38c0b00b12d270f283520a2ef2bfa895ff824d1..20896f9eec764e7ada8843aa2033b42f4ee8734c 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 64214db32d3a86ec4492b8edeb63cce6d3b1b986..2e57e4485625852344fa83f987918501559abaa3 100644
--- a/lib/spack/spack/compilers/gcc.py
+++ b/lib/spack/spack/compilers/gcc.py
@@ -54,9 +54,16 @@ def cxx11_flag(self):
         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):