mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 00:14:32 +09:00
meson: bump C std to gnu17
GCC 8.4 (our baseline) defaults to gnu17 already.
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user