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):
|
def get_options(self):
|
||||||
opts = CPPCompiler.get_options(self)
|
opts = CPPCompiler.get_options(self)
|
||||||
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
|
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',
|
['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', 'c++2a',
|
||||||
'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'],
|
'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'],
|
||||||
'none')})
|
'none')})
|
||||||
return opts
|
return opts
|
||||||
|
|
||||||
|
@ -139,8 +139,8 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler):
|
||||||
def get_options(self):
|
def get_options(self):
|
||||||
opts = CPPCompiler.get_options(self)
|
opts = CPPCompiler.get_options(self)
|
||||||
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
|
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',
|
['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++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'],
|
||||||
'none'),
|
'none'),
|
||||||
'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl',
|
'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl',
|
||||||
'STL debug mode',
|
'STL debug mode',
|
||||||
|
|
|
@ -3142,7 +3142,13 @@ class LinuxlikeTests(BasePlatformTests):
|
||||||
for v in compiler.get_options()[lang_std].choices:
|
for v in compiler.get_options()[lang_std].choices:
|
||||||
if (compiler.get_id() == 'clang' and '17' in v and
|
if (compiler.get_id() == 'clang' and '17' in v and
|
||||||
(version_compare(compiler.version, '<5.0.0') or
|
(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
|
continue
|
||||||
std_opt = '{}={}'.format(lang_std, v)
|
std_opt = '{}={}'.format(lang_std, v)
|
||||||
self.init(testdir, ['-D' + std_opt])
|
self.init(testdir, ['-D' + std_opt])
|
||||||
|
|
Loading…
Reference in New Issue