This is intended to fix building with clang-12 on i386. In the process, I found bugs wrt handling of guest memory in target/ with respect to atomics, fixed by unifying the api between softmmu and user-only and removing some ifdefs under target/.
Unification of the api allowed some further cleanups. Changes for v4: * Use _Generic for typechecking of CONFIG_ATOMIC64 macros (pmm). * Style nits in tcg-op.c (pmm). Changes for v3: * Dropped the typeof_strip_qual patch with broader testing. * Squashed an include fix for trace/mem.h, with plugins enabled. All patches have at least one R-b; barring further comment I plan to include this in a pull request tomorrow. r~ Richard Henderson (10): qemu/atomic: Use macros for CONFIG_ATOMIC64 qemu/atomic: Remove pre-C11 atomic fallbacks qemu/atomic: Add aligned_{int64,uint64}_t types tcg: Rename helper_atomic_*_mmu and provide for user-only accel/tcg: Standardize atomic helpers on softmmu api accel/tcg: Fold EXTRA_ARGS into atomic_template.h accel/tcg: Remove ATOMIC_MMU_DECLS accel/tcg: Expand ATOMIC_MMU_LOOKUP_* trace: Fold mem-internal.h into mem.h accel/tcg: Push trace info building into atomic_common.c.inc configure | 7 - accel/tcg/atomic_template.h | 141 +++++++++---------- accel/tcg/tcg-runtime.h | 46 ------- include/qemu/atomic.h | 247 +++++----------------------------- include/qemu/stats64.h | 2 +- include/tcg/tcg.h | 78 +++++------ softmmu/timers-state.h | 2 +- trace/mem-internal.h | 50 ------- trace/mem.h | 50 +++++-- accel/tcg/cputlb.c | 49 +------ accel/tcg/user-exec.c | 41 +++--- linux-user/hppa/cpu_loop.c | 2 +- plugins/core.c | 2 +- target/arm/helper-a64.c | 8 +- target/i386/tcg/mem_helper.c | 15 +-- target/m68k/op_helper.c | 19 +-- target/ppc/mem_helper.c | 16 +-- target/s390x/tcg/mem_helper.c | 19 +-- tcg/tcg-op.c | 51 ++----- util/qsp.c | 4 +- accel/tcg/atomic_common.c.inc | 107 +++++++++++++-- 21 files changed, 329 insertions(+), 627 deletions(-) delete mode 100644 trace/mem-internal.h -- 2.25.1