From cf031e83f0149cd2c43d04f877dc26cc9d9e7894 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Tue, 5 Sep 2023 10:09:22 -0500 Subject: compilers/gcc.py: support cxx{20,23}_flag (#39777) --- lib/spack/spack/compilers/gcc.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/spack/spack/compilers/gcc.py b/lib/spack/spack/compilers/gcc.py index ae8d5aa97e..adef8a8277 100644 --- a/lib/spack/spack/compilers/gcc.py +++ b/lib/spack/spack/compilers/gcc.py @@ -99,6 +99,28 @@ class Gcc(spack.compiler.Compiler): else: return "-std=c++17" + @property + def cxx20_flag(self): + if self.real_version < Version("8.0"): + raise spack.compiler.UnsupportedCompilerFlag( + self, "the C++20 standard", "cxx20_flag", "< 8.0" + ) + elif self.real_version < Version("11.0"): + return "-std=c++2a" + else: + return "-std=c++20" + + @property + def cxx23_flag(self): + if self.real_version < Version("11.0"): + raise spack.compiler.UnsupportedCompilerFlag( + self, "the C++23 standard", "cxx23_flag", "< 11.0" + ) + elif self.real_version < Version("14.0"): + return "-std=c++2b" + else: + return "-std=c++23" + @property def c99_flag(self): if self.real_version < Version("4.5"): -- cgit v1.2.3-70-g09d2