configure | 22 +-------- meson.build | 2 +- include/qemu/compiler.h | 51 --------------------- include/qemu/lockable.h | 90 +++++++++++++++++-------------------- include/qemu/thread-posix.h | 14 +++--- include/qemu/thread-win32.h | 6 --- include/qemu/thread.h | 15 ++++++- fpu/softfloat.c | 16 ++++--- util/qemu-thread-posix.c | 24 +++++++++- util/qemu-thread-win32.c | 2 +- 10 files changed, 98 insertions(+), 144 deletions(-)
Now that we assume gcc 7.5 as a minimum, we have the option of changing to a newer C standard. The two major new features that I think apply are _Generic and _Static_assert. While Paolo created a remarkably functional replacement for _Generic using builtins, the error messages that you get out of the keyword are *vastly* more intelligable, and the syntax is easier to read. While I'd like to prefer _Static_assert over QEMU_BUILD_BUG_ON going forward, and would like to convert existing uses, that is a much bigger job. Especially since the test condition is inverted. In the meantime, can drop the configure detection. Changes for v2: * Remove QEMU_LOCK_FUNC and QEMU_UNLOCK_FUNC as unused. r~ Richard Henderson (8): configure: Use -std=gnu11 softfloat: Use _Generic instead of QEMU_GENERIC util: Use real functions for thread-posix QemuRecMutex util: Pass file+line to qemu_rec_mutex_unlock_impl util: Use unique type for QemuRecMutex in thread-posix.h include/qemu/lockable: Use _Generic instead of QEMU_GENERIC qemu/compiler: Remove QEMU_GENERIC configure: Remove probe for _Static_assert configure | 22 +-------- meson.build | 2 +- include/qemu/compiler.h | 51 --------------------- include/qemu/lockable.h | 90 +++++++++++++++++-------------------- include/qemu/thread-posix.h | 14 +++--- include/qemu/thread-win32.h | 6 --- include/qemu/thread.h | 15 ++++++- fpu/softfloat.c | 16 ++++--- util/qemu-thread-posix.c | 24 +++++++++- util/qemu-thread-win32.c | 2 +- 10 files changed, 98 insertions(+), 144 deletions(-) -- 2.25.1
On 15/06/21 01:31, Richard Henderson wrote: > Now that we assume gcc 7.5 as a minimum, we have the option of > changing to a newer C standard. The two major new features that > I think apply are _Generic and _Static_assert. > > While Paolo created a remarkably functional replacement for _Generic > using builtins, the error messages that you get out of the keyword > are *vastly* more intelligable, and the syntax is easier to read. > > While I'd like to prefer _Static_assert over QEMU_BUILD_BUG_ON > going forward, and would like to convert existing uses, that is > a much bigger job. Especially since the test condition is inverted. > In the meantime, can drop the configure detection. > > Changes for v2: > * Remove QEMU_LOCK_FUNC and QEMU_UNLOCK_FUNC as unused. > > > r~ > > > Richard Henderson (8): > configure: Use -std=gnu11 > softfloat: Use _Generic instead of QEMU_GENERIC > util: Use real functions for thread-posix QemuRecMutex > util: Pass file+line to qemu_rec_mutex_unlock_impl > util: Use unique type for QemuRecMutex in thread-posix.h > include/qemu/lockable: Use _Generic instead of QEMU_GENERIC > qemu/compiler: Remove QEMU_GENERIC > configure: Remove probe for _Static_assert > > configure | 22 +-------- > meson.build | 2 +- > include/qemu/compiler.h | 51 --------------------- > include/qemu/lockable.h | 90 +++++++++++++++++-------------------- > include/qemu/thread-posix.h | 14 +++--- > include/qemu/thread-win32.h | 6 --- > include/qemu/thread.h | 15 ++++++- > fpu/softfloat.c | 16 ++++--- > util/qemu-thread-posix.c | 24 +++++++++- > util/qemu-thread-win32.c | 2 +- > 10 files changed, 98 insertions(+), 144 deletions(-) > Queued, thanks. Paolo
Patchew URL: https://patchew.org/QEMU/20210614233143.1221879-1-richard.henderson@linaro.org/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 20210614233143.1221879-1-richard.henderson@linaro.org
Subject: [PATCH v2 0/8] configure: Change to -std=gnu11
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20210614233143.1221879-1-richard.henderson@linaro.org -> patchew/20210614233143.1221879-1-richard.henderson@linaro.org
Switched to a new branch 'test'
1a974ee configure: Remove probe for _Static_assert
8a8c552 qemu/compiler: Remove QEMU_GENERIC
d52ca80 include/qemu/lockable: Use _Generic instead of QEMU_GENERIC
d751cc8 util: Use unique type for QemuRecMutex in thread-posix.h
aafe079 util: Pass file+line to qemu_rec_mutex_unlock_impl
069b4e3 util: Use real functions for thread-posix QemuRecMutex
df9952e softfloat: Use _Generic instead of QEMU_GENERIC
067736a configure: Use -std=gnu11
=== OUTPUT BEGIN ===
1/8 Checking commit 067736abd82a (configure: Use -std=gnu11)
2/8 Checking commit df9952ebdce3 (softfloat: Use _Generic instead of QEMU_GENERIC)
ERROR: spaces required around that '*' (ctx:WxO)
#22: FILE: fpu/softfloat.c:689:
+ _Generic((P), FloatParts64 *: parts64_##NAME, \
^
ERROR: spaces required around that ':' (ctx:OxW)
#22: FILE: fpu/softfloat.c:689:
+ _Generic((P), FloatParts64 *: parts64_##NAME, \
^
ERROR: spaces required around that '*' (ctx:WxO)
#23: FILE: fpu/softfloat.c:690:
+ FloatParts128 *: parts128_##NAME)
^
ERROR: spaces required around that ':' (ctx:OxW)
#23: FILE: fpu/softfloat.c:690:
+ FloatParts128 *: parts128_##NAME)
^
ERROR: spaces required around that '*' (ctx:WxO)
#28: FILE: fpu/softfloat.c:693:
+ _Generic((P), FloatParts64 *: parts64_##NAME, \
^
ERROR: spaces required around that ':' (ctx:OxW)
#28: FILE: fpu/softfloat.c:693:
+ _Generic((P), FloatParts64 *: parts64_##NAME, \
^
ERROR: spaces required around that '*' (ctx:WxO)
#29: FILE: fpu/softfloat.c:694:
+ FloatParts128 *: parts128_##NAME, \
^
ERROR: spaces required around that ':' (ctx:OxW)
#29: FILE: fpu/softfloat.c:694:
+ FloatParts128 *: parts128_##NAME, \
^
ERROR: spaces required around that '*' (ctx:WxO)
#30: FILE: fpu/softfloat.c:695:
+ FloatParts256 *: parts256_##NAME)
^
ERROR: spaces required around that ':' (ctx:OxW)
#30: FILE: fpu/softfloat.c:695:
+ FloatParts256 *: parts256_##NAME)
^
ERROR: spaces required around that '*' (ctx:WxO)
#39: FILE: fpu/softfloat.c:897:
+ _Generic((P), FloatParts64 *: frac64_##NAME, \
^
ERROR: spaces required around that ':' (ctx:OxW)
#39: FILE: fpu/softfloat.c:897:
+ _Generic((P), FloatParts64 *: frac64_##NAME, \
^
ERROR: spaces required around that '*' (ctx:WxO)
#40: FILE: fpu/softfloat.c:898:
+ FloatParts128 *: frac128_##NAME)
^
ERROR: spaces required around that ':' (ctx:OxW)
#40: FILE: fpu/softfloat.c:898:
+ FloatParts128 *: frac128_##NAME)
^
ERROR: spaces required around that '*' (ctx:WxO)
#45: FILE: fpu/softfloat.c:901:
+ _Generic((P), FloatParts64 *: frac64_##NAME, \
^
ERROR: spaces required around that ':' (ctx:OxW)
#45: FILE: fpu/softfloat.c:901:
+ _Generic((P), FloatParts64 *: frac64_##NAME, \
^
ERROR: spaces required around that '*' (ctx:WxO)
#46: FILE: fpu/softfloat.c:902:
+ FloatParts128 *: frac128_##NAME, \
^
ERROR: spaces required around that ':' (ctx:OxW)
#46: FILE: fpu/softfloat.c:902:
+ FloatParts128 *: frac128_##NAME, \
^
ERROR: spaces required around that '*' (ctx:WxO)
#47: FILE: fpu/softfloat.c:903:
+ FloatParts256 *: frac256_##NAME)
^
ERROR: spaces required around that ':' (ctx:OxW)
#47: FILE: fpu/softfloat.c:903:
+ FloatParts256 *: frac256_##NAME)
^
total: 20 errors, 0 warnings, 32 lines checked
Patch 2/8 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/8 Checking commit 069b4e39c6b3 (util: Use real functions for thread-posix QemuRecMutex)
WARNING: line over 80 characters
#63: FILE: include/qemu/thread.h:34:
+int qemu_rec_mutex_trylock_impl(QemuRecMutex *mutex, const char *file, int line);
total: 0 errors, 1 warnings, 69 lines checked
Patch 3/8 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/8 Checking commit aafe07917c3a (util: Pass file+line to qemu_rec_mutex_unlock_impl)
WARNING: line over 80 characters
#27: FILE: include/qemu/thread.h:35:
+void qemu_rec_mutex_unlock_impl(QemuRecMutex *mutex, const char *file, int line);
total: 0 errors, 1 warnings, 47 lines checked
Patch 4/8 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
5/8 Checking commit d751cc87cfad (util: Use unique type for QemuRecMutex in thread-posix.h)
6/8 Checking commit d52ca8068133 (include/qemu/lockable: Use _Generic instead of QEMU_GENERIC)
ERROR: spaces required around that '*' (ctx:WxO)
#117: FILE: include/qemu/lockable.h:70:
+ _Generic((x), QemuLockable *: (x), \
^
ERROR: spaces required around that ':' (ctx:OxW)
#117: FILE: include/qemu/lockable.h:70:
+ _Generic((x), QemuLockable *: (x), \
^
ERROR: spaces required around that '*' (ctx:WxO)
#118: FILE: include/qemu/lockable.h:71:
+ void *: qemu_null_lockable(x), \
^
ERROR: spaces required around that ':' (ctx:OxW)
#118: FILE: include/qemu/lockable.h:71:
+ void *: qemu_null_lockable(x), \
^
ERROR: spaces required around that '*' (ctx:WxO)
#119: FILE: include/qemu/lockable.h:72:
+ QemuMutex *: qemu_make_lockable(x, QML_OBJ_(x, mutex)), \
^
ERROR: spaces required around that ':' (ctx:OxW)
#119: FILE: include/qemu/lockable.h:72:
+ QemuMutex *: qemu_make_lockable(x, QML_OBJ_(x, mutex)), \
^
ERROR: spaces required around that '*' (ctx:WxO)
#120: FILE: include/qemu/lockable.h:73:
+ QemuRecMutex *: qemu_make_lockable(x, QML_OBJ_(x, rec_mutex)), \
^
ERROR: spaces required around that ':' (ctx:OxW)
#120: FILE: include/qemu/lockable.h:73:
+ QemuRecMutex *: qemu_make_lockable(x, QML_OBJ_(x, rec_mutex)), \
^
ERROR: spaces required around that '*' (ctx:WxO)
#121: FILE: include/qemu/lockable.h:74:
+ CoMutex *: qemu_make_lockable(x, QML_OBJ_(x, co_mutex)), \
^
ERROR: spaces required around that ':' (ctx:OxW)
#121: FILE: include/qemu/lockable.h:74:
+ CoMutex *: qemu_make_lockable(x, QML_OBJ_(x, co_mutex)), \
^
ERROR: spaces required around that '*' (ctx:WxO)
#122: FILE: include/qemu/lockable.h:75:
+ QemuSpin *: qemu_make_lockable(x, QML_OBJ_(x, spin)))
^
ERROR: spaces required around that ':' (ctx:OxW)
#122: FILE: include/qemu/lockable.h:75:
+ QemuSpin *: qemu_make_lockable(x, QML_OBJ_(x, spin)))
^
ERROR: spaces required around that '*' (ctx:WxO)
#138: FILE: include/qemu/lockable.h:87:
+ _Generic((x), QemuLockable *: (x), \
^
ERROR: spaces required around that ':' (ctx:OxW)
#138: FILE: include/qemu/lockable.h:87:
+ _Generic((x), QemuLockable *: (x), \
^
ERROR: spaces required around that '*' (ctx:WxO)
#139: FILE: include/qemu/lockable.h:88:
+ QemuMutex *: QML_OBJ_(x, mutex), \
^
ERROR: spaces required around that ':' (ctx:OxW)
#139: FILE: include/qemu/lockable.h:88:
+ QemuMutex *: QML_OBJ_(x, mutex), \
^
ERROR: spaces required around that '*' (ctx:WxO)
#140: FILE: include/qemu/lockable.h:89:
+ QemuRecMutex *: QML_OBJ_(x, rec_mutex), \
^
ERROR: spaces required around that ':' (ctx:OxW)
#140: FILE: include/qemu/lockable.h:89:
+ QemuRecMutex *: QML_OBJ_(x, rec_mutex), \
^
ERROR: spaces required around that '*' (ctx:WxO)
#141: FILE: include/qemu/lockable.h:90:
+ CoMutex *: QML_OBJ_(x, co_mutex), \
^
ERROR: spaces required around that ':' (ctx:OxW)
#141: FILE: include/qemu/lockable.h:90:
+ CoMutex *: QML_OBJ_(x, co_mutex), \
^
ERROR: spaces required around that '*' (ctx:WxO)
#142: FILE: include/qemu/lockable.h:91:
+ QemuSpin *: QML_OBJ_(x, spin))
^
ERROR: spaces required around that ':' (ctx:OxW)
#142: FILE: include/qemu/lockable.h:91:
+ QemuSpin *: QML_OBJ_(x, spin))
^
total: 22 errors, 0 warnings, 120 lines checked
Patch 6/8 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/8 Checking commit 8a8c55217a6f (qemu/compiler: Remove QEMU_GENERIC)
8/8 Checking commit 1a974eea8590 (configure: Remove probe for _Static_assert)
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20210614233143.1221879-1-richard.henderson@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
© 2016 - 2026 Red Hat, Inc.