aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorajs <sam4lordjesus@outlook.com>2025-01-22 22:34:31 +0530
committerJussi Pakkanen <jpakkane@gmail.com>2025-01-27 00:59:37 +0200
commit1882ae4fc628398e62f3a7d8e7d726aa5a5cde1a (patch)
treee34c2d3c3e435854860ada82679b051ce8e46e5d
parentae9ae8adced6bf2e0f78c752c4d64e2fcfe0844f (diff)
downloadmeson-1882ae4fc628398e62f3a7d8e7d726aa5a5cde1a.zip
meson-1882ae4fc628398e62f3a7d8e7d726aa5a5cde1a.tar.gz
meson-1882ae4fc628398e62f3a7d8e7d726aa5a5cde1a.tar.bz2
adding c_std=c2y option for clang
Signed-off-by: ajs <sam4lordjesus@outlook.com>
-rw-r--r--docs/markdown/Builtin-options.md2
-rw-r--r--docs/markdown/Configuring-a-build-directory.md2
-rw-r--r--mesonbuild/compilers/c.py5
3 files changed, 6 insertions, 3 deletions
diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md
index 3a91280..d64cd85 100644
--- a/docs/markdown/Builtin-options.md
+++ b/docs/markdown/Builtin-options.md
@@ -273,7 +273,7 @@ or compiler being used:
| ------ | ------------- | --------------- | ----------- |
| c_args | | free-form comma-separated list | C compile arguments to use |
| c_link_args | | free-form comma-separated list | C link arguments to use |
-| c_std | none | none, c89, c99, c11, c17, c18, c2x, c23, gnu89, gnu99, gnu11, gnu17, gnu18, gnu2x, gnu23 | C language standard to use |
+| c_std | none | none, c89, c99, c11, c17, c18, c2x, c23, c2y, gnu89, gnu99, gnu11, gnu17, gnu18, gnu2x, gnu23, gnu2y | C language standard to use |
| c_winlibs | see below | free-form comma-separated list | Standard Windows libs to link against |
| c_thread_count | 4 | integer value ≥ 0 | Number of threads to use with emcc when using threads |
| cpp_args | | free-form comma-separated list | C++ compile arguments to use |
diff --git a/docs/markdown/Configuring-a-build-directory.md b/docs/markdown/Configuring-a-build-directory.md
index db6fc03..746e4b1 100644
--- a/docs/markdown/Configuring-a-build-directory.md
+++ b/docs/markdown/Configuring-a-build-directory.md
@@ -61,7 +61,7 @@ a sample output for a simple project.
------ ------------- --------------- -----------
c_args [] Extra arguments passed to the C compiler
c_link_args [] Extra arguments passed to the C linker
- c_std c99 [none, c89, c99, c11, c17, c18, c2x, c23, gnu89, gnu99, gnu11, gnu17, gnu18, gnu2x, gnu23] C language standard to use
+ c_std c99 [none, c89, c99, c11, c17, c18, c2x, c23, c2y, gnu89, gnu99, gnu11, gnu17, gnu18, gnu2x, gnu23, gnu2y] C language standard to use
cpp_args [] Extra arguments passed to the C++ compiler
cpp_debugstl false [true, false] STL debug mode
cpp_link_args [] Extra arguments passed to the C++ linker
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
index c75120f..51fd724 100644
--- a/mesonbuild/compilers/c.py
+++ b/mesonbuild/compilers/c.py
@@ -47,7 +47,7 @@ if T.TYPE_CHECKING:
else:
CompilerMixinBase = object
-_ALL_STDS = ['c89', 'c9x', 'c90', 'c99', 'c1x', 'c11', 'c17', 'c18', 'c2x', 'c23']
+_ALL_STDS = ['c89', 'c9x', 'c90', 'c99', 'c1x', 'c11', 'c17', 'c18', 'c2x', 'c23', 'c2y']
_ALL_STDS += [f'gnu{std[1:]}' for std in _ALL_STDS]
_ALL_STDS += ['iso9899:1990', 'iso9899:199409', 'iso9899:1999', 'iso9899:2011', 'iso9899:2017', 'iso9899:2018']
@@ -115,6 +115,7 @@ class _ClangCStds(CompilerMixinBase):
_C18_VERSION = '>=8.0.0'
_C2X_VERSION = '>=9.0.0'
_C23_VERSION = '>=18.0.0'
+ _C2Y_VERSION = '>=19.0.0'
def get_options(self) -> 'MutableKeyedOptionDictType':
opts = super().get_options()
@@ -129,6 +130,8 @@ class _ClangCStds(CompilerMixinBase):
stds += ['c2x']
if version_compare(self.version, self._C23_VERSION):
stds += ['c23']
+ if version_compare(self.version, self._C2Y_VERSION):
+ stds += ['c2y']
key = self.form_compileropt_key('std')
std_opt = opts[key]
assert isinstance(std_opt, options.UserStdOption), 'for mypy'