From: Richard Henderson Date: Mon, 1 May 2023 20:46:25 +0000 (+0100) Subject: qemu/int128: Re-shuffle Int128Alias members X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c4075353854ed320cf9225ebd5605836ae236640;p=qemu.git qemu/int128: Re-shuffle Int128Alias members Clang 14, with --enable-tcg-interpreter errors with include/qemu/int128.h:487:16: error: alignment of field 'i' (128 bits) does not match the alignment of the first field in transparent union; transparent_union attribute ignored [-Werror,-Wignored-attributes] __int128_t i; ^ include/qemu/int128.h:486:12: note: alignment of first field is 64 bits Int128 s; ^ 1 error generated. By placing the __uint128_t member first, this is avoided. Signed-off-by: Richard Henderson Reviewed-by: Alex Bennée Message-Id: <20230501204625.277361-1-richard.henderson@linaro.org> --- diff --git a/include/qemu/int128.h b/include/qemu/int128.h index f62a46b48c..9e46cfaefc 100644 --- a/include/qemu/int128.h +++ b/include/qemu/int128.h @@ -483,9 +483,9 @@ static inline void bswap128s(Int128 *s) */ #ifdef CONFIG_INT128 typedef union { - Int128 s; - __int128_t i; __uint128_t u; + __int128_t i; + Int128 s; } Int128Alias __attribute__((transparent_union)); #else typedef Int128 Int128Alias;