Merge pull request #4001 from mikezackles/cpp2a
Add support for c++2a and gnu++2a (closes #3997)
This commit is contained in:
commit
d742e2e891
|
@ -80,8 +80,8 @@ class ClangCPPCompiler(ClangCompiler, CPPCompiler):
|
|||
def get_options(self):
|
||||
opts = CPPCompiler.get_options(self)
|
||||
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
|
||||
['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z',
|
||||
'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'],
|
||||
['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', 'c++2a',
|
||||
'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'],
|
||||
'none')})
|
||||
return opts
|
||||
|
||||
|
@ -139,8 +139,8 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler):
|
|||
def get_options(self):
|
||||
opts = CPPCompiler.get_options(self)
|
||||
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
|
||||
['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z',
|
||||
'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'],
|
||||
['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', 'c++2a',
|
||||
'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'],
|
||||
'none'),
|
||||
'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl',
|
||||
'STL debug mode',
|
||||
|
|
|
@ -3142,7 +3142,13 @@ class LinuxlikeTests(BasePlatformTests):
|
|||
for v in compiler.get_options()[lang_std].choices:
|
||||
if (compiler.get_id() == 'clang' and '17' in v and
|
||||
(version_compare(compiler.version, '<5.0.0') or
|
||||
(compiler.clang_type == mesonbuild.compilers.CLANG_OSX and version_compare(compiler.version, '<9.2')))):
|
||||
(compiler.clang_type == mesonbuild.compilers.CLANG_OSX and version_compare(compiler.version, '<9.1')))):
|
||||
continue
|
||||
if (compiler.get_id() == 'clang' and '2a' in v and
|
||||
(version_compare(compiler.version, '<6.0.0') or
|
||||
(compiler.clang_type == mesonbuild.compilers.CLANG_OSX and version_compare(compiler.version, '<9.1')))):
|
||||
continue
|
||||
if (compiler.get_id() == 'gcc' and '2a' in v and version_compare(compiler.version, '<8.0.0')):
|
||||
continue
|
||||
std_opt = '{}={}'.format(lang_std, v)
|
||||
self.init(testdir, ['-D' + std_opt])
|
||||
|
|
Loading…
Reference in New Issue