Message ID | 20160909130110.GA24307@hhmipssw201.hh.imgtec.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 09/09/2016 06:01 AM, Leon Alrae wrote: > This causes build failures for me on CentOS6.5: > /user/lea/dev/qemu/include/qemu/int128.h:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Int128’ > /user/lea/dev/qemu/include/qemu/int128.h:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int128_make64’ > /user/lea/dev/qemu/include/qemu/int128.h:14: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int128_make128’ > (...) > > This is because CONFIG_INT128 is set if test for __int128_t succeeds, not > __int128. The following change on top of patches 4 and 5 in this series > fixes the problem for me: > > diff --git a/include/qemu/int128.h b/include/qemu/int128.h > index 261b55f..5c9890d 100644 > --- a/include/qemu/int128.h > +++ b/include/qemu/int128.h > @@ -4,7 +4,7 @@ > #ifdef CONFIG_INT128 > #include "qemu/bswap.h" > > -typedef __int128 Int128; > +typedef __int128_t Int128; > > static inline Int128 int128_make64(uint64_t a) > { > @@ -13,7 +13,7 @@ static inline Int128 int128_make64(uint64_t a) > > static inline Int128 int128_make128(uint64_t lo, uint64_t hi) > { > - return (unsigned __int128)hi << 64 | lo; > + return (__uint128_t)hi << 64 | lo; > } Thanks, I'll fold that in. r~
diff --git a/include/qemu/int128.h b/include/qemu/int128.h index 261b55f..5c9890d 100644 --- a/include/qemu/int128.h +++ b/include/qemu/int128.h @@ -4,7 +4,7 @@ #ifdef CONFIG_INT128 #include "qemu/bswap.h" -typedef __int128 Int128; +typedef __int128_t Int128; static inline Int128 int128_make64(uint64_t a) { @@ -13,7 +13,7 @@ static inline Int128 int128_make64(uint64_t a) static inline Int128 int128_make128(uint64_t lo, uint64_t hi) { - return (unsigned __int128)hi << 64 | lo; + return (__uint128_t)hi << 64 | lo; }