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(-)