aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/cpp.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/compilers/cpp.py')
-rw-r--r--mesonbuild/compilers/cpp.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index 50417ee..bd893b2 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -462,16 +462,21 @@ class ElbrusCPPCompiler(ElbrusCompiler, CPPCompiler):
def get_options(self) -> 'KeyedOptionDictType':
opts = CPPCompiler.get_options(self)
- cpp_stds = [
- 'none', 'c++98', 'c++03', 'c++0x', 'c++11', 'c++14', 'c++1y',
- 'gnu++98', 'gnu++03', 'gnu++0x', 'gnu++11', 'gnu++14', 'gnu++1y',
- ]
-
+ cpp_stds = ['none', 'c++98', 'gnu++98']
+ if version_compare(self.version, '>=1.20.00'):
+ cpp_stds += ['c++03', 'c++0x', 'c++11', 'gnu++03', 'gnu++0x', 'gnu++11']
+ if version_compare(self.version, '>=1.21.00') and version_compare(self.version, '<1.22.00'):
+ cpp_stds += ['c++14', 'gnu++14', 'c++1y', 'gnu++1y']
+ if version_compare(self.version, '>=1.22.00'):
+ cpp_stds += ['c++14', 'gnu++14']
+ if version_compare(self.version, '>=1.23.00'):
+ cpp_stds += ['c++1y', 'gnu++1y']
if version_compare(self.version, '>=1.24.00'):
- cpp_stds += [ 'c++1z', 'c++17', 'gnu++1z', 'gnu++17' ]
-
+ cpp_stds += ['c++1z', 'c++17', 'gnu++1z', 'gnu++17']
if version_compare(self.version, '>=1.25.00'):
- cpp_stds += [ 'c++2a', 'gnu++2a' ]
+ cpp_stds += ['c++2a', 'gnu++2a']
+ if version_compare(self.version, '>=1.26.00'):
+ cpp_stds += ['c++20', 'gnu++20']
key = OptionKey('std', machine=self.for_machine, lang=self.language)
opts.update({