aboutsummaryrefslogtreecommitdiff
path: root/unittests
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2023-07-31 16:59:16 +0300
committerGitHub <noreply@github.com>2023-07-31 16:59:16 +0300
commit1cd16a7cc5a19b1d694f66d80f36f6ec4e119dcb (patch)
treeb211e738cfd347f751494c0c09023665e4700d37 /unittests
parent3752041c8d56c7667bc0fe644fda6c2834d6aaf8 (diff)
parente3c007aefe72d9f896028c6c45906707181d3a07 (diff)
downloadmeson-1cd16a7cc5a19b1d694f66d80f36f6ec4e119dcb.zip
meson-1cd16a7cc5a19b1d694f66d80f36f6ec4e119dcb.tar.gz
meson-1cd16a7cc5a19b1d694f66d80f36f6ec4e119dcb.tar.bz2
Merge pull request #11986 from williamspatrick/clang-enable-cpp23
add support for newer C++ -std= flags on Clang/GCC
Diffstat (limited to 'unittests')
-rw-r--r--unittests/linuxliketests.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py
index 37388740..7ebb575 100644
--- a/unittests/linuxliketests.py
+++ b/unittests/linuxliketests.py
@@ -517,6 +517,15 @@ class LinuxlikeTests(BasePlatformTests):
has_cpp20 = (compiler.get_id() not in {'clang', 'gcc'} or
compiler.get_id() == 'clang' and _clang_at_least(compiler, '>=10.0.0', None) or
compiler.get_id() == 'gcc' and version_compare(compiler.version, '>=10.0.0'))
+ has_cpp2b = (compiler.get_id() not in {'clang', 'gcc'} or
+ compiler.get_id() == 'clang' and _clang_at_least(compiler, '>=12.0.0', None) or
+ compiler.get_id() == 'gcc' and version_compare(compiler.version, '>=12.2.0'))
+ has_cpp23 = (compiler.get_id() not in {'clang', 'gcc'} or
+ compiler.get_id() == 'clang' and _clang_at_least(compiler, '>=17.0.0', None) or
+ compiler.get_id() == 'gcc' and version_compare(compiler.version, '>=12.2.0'))
+ has_cpp26 = (compiler.get_id() not in {'clang', 'gcc'} or
+ compiler.get_id() == 'clang' and _clang_at_least(compiler, '>=17.0.0', None) or
+ compiler.get_id() == 'gcc' and version_compare(compiler.version, '>=14.0.0'))
has_c18 = (compiler.get_id() not in {'clang', 'gcc'} or
compiler.get_id() == 'clang' and _clang_at_least(compiler, '>=8.0.0', '>=11.0') or
compiler.get_id() == 'gcc' and version_compare(compiler.version, '>=8.0.0'))
@@ -533,6 +542,12 @@ class LinuxlikeTests(BasePlatformTests):
continue
elif '++20' in v and not has_cpp20:
continue
+ elif '++2b' in v and not has_cpp2b:
+ continue
+ elif '++23' in v and not has_cpp23:
+ continue
+ elif ('++26' in v or '++2c' in v) and not has_cpp26:
+ continue
# now C
elif '17' in v and not has_cpp2a_c17:
continue