mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-23 06:11:02 +00:00
320b59ddb9
clang's C11 atomic_fetch_*() functions only take a C11 atomic type pointer argument. QEMU uses direct types (int, etc) and this causes a compiler error when a QEMU code calls these functions in a source file that also included <stdatomic.h> via a system header file: $ CC=clang CXX=clang++ ./configure ... && make ../util/async.c:79:17: error: address argument to atomic operation must be a pointer to _Atomic type ('unsigned int *' invalid) Avoid using atomic_*() names in QEMU's atomic.h since that namespace is used by <stdatomic.h>. Prefix QEMU's APIs with 'q' so that atomic.h and <stdatomic.h> can co-exist. I checked /usr/include on my machine and searched GitHub for existing "qatomic_" users but there seem to be none. This patch was generated using: $ git grep -h -o '\<atomic\(64\)\?_[a-z0-9_]\+' include/qemu/atomic.h | \ sort -u >/tmp/changed_identifiers $ for identifier in $(</tmp/changed_identifiers); do sed -i "s%\<$identifier\>%q$identifier%g" \ $(git grep -I -l "\<$identifier\>") done I manually fixed line-wrap issues and misaligned rST tables. Backports d73415a315471ac0b127ed3fad45c8ec5d711de1 |
||
---|---|---|
.. | ||
a32-uncond.decode | ||
a32.decode | ||
arm-powerctl.c | ||
arm-powerctl.h | ||
arm_ldst.h | ||
cpu-param.h | ||
cpu-qom.h | ||
cpu.c | ||
cpu.h | ||
cpu64.c | ||
crypto_helper.c | ||
debug_helper.c | ||
helper-a64.c | ||
helper-a64.h | ||
helper-sve.h | ||
helper.c | ||
helper.h | ||
internals.h | ||
iwmmxt_helper.c | ||
kvm-consts.h | ||
m-nocp.decode | ||
m_helper.c | ||
Makefile.objs | ||
mte_helper.c | ||
neon-dp.decode | ||
neon-ls.decode | ||
neon-shared.decode | ||
neon_helper.c | ||
op_addsub.h | ||
op_helper.c | ||
pauth_helper.c | ||
psci.c | ||
sve.decode | ||
sve_helper.c | ||
syndrome.h | ||
t16.decode | ||
t32.decode | ||
tlb_helper.c | ||
translate-a64.c | ||
translate-a64.h | ||
translate-neon.inc.c | ||
translate-sve.c | ||
translate-vfp.inc.c | ||
translate.c | ||
translate.h | ||
unicorn.h | ||
unicorn_aarch64.c | ||
unicorn_arm.c | ||
vec_helper.c | ||
vec_internal.h | ||
vfp-uncond.decode | ||
vfp.decode | ||
vfp_helper.c |