meson: bump C std to gnu17

GCC 8.4 (our baseline) defaults to gnu17 already.
This commit is contained in:
Mike Yuan
2025-01-16 18:50:54 +01:00
committed by Luca Boccassi
parent ce2ef96c2b
commit 9cd064aa9f
3 changed files with 8 additions and 8 deletions

View File

@@ -151,16 +151,16 @@ SPDX-License-Identifier: LGPL-2.1-or-later
## Code Organization and Semantics
- For our codebase we intend to use ISO C11 *with* GNU extensions (aka
"gnu11"). Public APIs (i.e. those we expose via `libsystemd.so`
- For our codebase we intend to use ISO C17 *with* GNU extensions (aka
"gnu17"). Public APIs (i.e. those we expose via `libsystemd.so`
i.e. `systemd/sd-*.h`) should only use ISO C89 however (with a very limited
set of conservative and common extensions, such as fixed size integer types
from `<inttypes.h>`), so that we don't force consuming programs into C11
from `<inttypes.h>`), so that we don't force consuming programs into C17
mode. (This discrepancy in particular means one thing: internally we use C99
`bool` booleans, externally C89-compatible `int` booleans which generally
have different size in memory and slightly different semantics, also see
below.) Both for internal and external code it's OK to use even newer
features and GCC extension than "gnu11", as long as there's reasonable
features and GCC extension than "gnu17", as long as there's reasonable
fallback #ifdeffery in place to ensure compatibility is retained with older
compilers.

View File

@@ -4,7 +4,7 @@ project('systemd', 'c',
version : files('meson.version'),
license : 'LGPLv2+',
default_options: [
'c_std=gnu11',
'c_std=gnu17',
'prefix=/usr',
'sysconfdir=/etc',
'localstatedir=/var',
@@ -1761,7 +1761,7 @@ python_39 = python.language_version().version_compare('>=3.9')
if conf.get('BPF_FRAMEWORK') == 1
bpf_clang_flags = [
'-std=gnu11',
'-std=gnu17',
'-Wno-compare-distinct-pointer-types',
'-fno-stack-protector',
'-O2',
@@ -1772,7 +1772,7 @@ if conf.get('BPF_FRAMEWORK') == 1
]
bpf_gcc_flags = [
'-std=gnu11',
'-std=gnu17',
'-fno-stack-protector',
'-fno-ssa-phiopt',
'-O2',

View File

@@ -5,7 +5,7 @@
#if HAVE_THREADS_H
# include <threads.h>
#elif !(defined(thread_local))
# if __STDC_VERSION__ >= 201112L && !(defined(__STDC_NO_THREADS__))
# ifndef __STDC_NO_THREADS__
# define thread_local _Thread_local
# else
# define thread_local __thread