qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 05/34] int128: Add int128_make128


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v3 05/34] int128: Add int128_make128
Date: Fri, 9 Sep 2016 13:16:26 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0

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~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]