On 12/12/23, Philippe Mathieu-Daudé wrote: > qatomic_cmpxchg__nocheck(), qatomic_read__nocheck(), > qatomic_set__nocheck() are defined in "qemu/atomic.h". > Include it in order to avoid: > > In file included from include/exec/helper-proto.h:10: > In file included from include/exec/helper-proto-common.h:10: > In file included from include/qemu/atomic128.h:61: > In file included from host/include/aarch64/host/atomic128-cas.h:16: > host/include/generic/host/atomic128-cas.h:23:11: error: call to undeclared > function 'qatomic_cmpxchg__nocheck'; ISO C99 and later do not support > implicit function declarations [-Wimplicit-function-declaration] > r.i = qatomic_cmpxchg__nocheck(ptr_align, c.i, n.i); > ^ > > Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> > --- > host/include/generic/host/atomic128-cas.h | 2 ++ > host/include/generic/host/atomic128-ldst.h | 2 ++ > 2 files changed, 4 insertions(+) > > diff --git a/host/include/generic/host/atomic128-cas.h > b/host/include/generic/host/atomic128-cas.h > index 6b40cc2271..4824f14659 100644 > --- a/host/include/generic/host/atomic128-cas.h > +++ b/host/include/generic/host/atomic128-cas.h > @@ -11,6 +11,8 @@ > #ifndef HOST_ATOMIC128_CAS_H > #define HOST_ATOMIC128_CAS_H > > +#include "qemu/atomic.h" > + > #if defined(CONFIG_ATOMIC128) > static inline Int128 ATTRIBUTE_ATOMIC128_OPT > atomic16_cmpxchg(Int128 *ptr, Int128 cmp, Int128 new) > diff --git a/host/include/generic/host/atomic128-ldst.h > b/host/include/generic/host/atomic128-ldst.h > index 691e6a8531..12e4aca2da 100644 > --- a/host/include/generic/host/atomic128-ldst.h > +++ b/host/include/generic/host/atomic128-ldst.h > @@ -11,6 +11,8 @@ > #ifndef HOST_ATOMIC128_LDST_H > #define HOST_ATOMIC128_LDST_H > > +#include "qemu/atomic.h" > + > #if defined(CONFIG_ATOMIC128) > # define HAVE_ATOMIC128_RO 1 > # define HAVE_ATOMIC128_RW 1 > -- > 2.41.0 >
What about the int128.h includes? I guess those definitions are acquired from atomic128.h that includes -cas.h/-ldst.h?