Travis reports that Clang objects to integer truncation during assignments to a bitfield:
./x86_emulate/x86_emulate.c:6150:19: error: implicit truncation from 'int' to bitfield changes value from -1 to 15 [-Werror,-Wbitfield-constant-conversion] pxop->reg = ~0; /* rAX */ ^ ~~ Use 0xf instead. Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> --- CC: Jan Beulich <jbeul...@suse.com> --- xen/arch/x86/x86_emulate/x86_emulate.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c index 2810c73..bd48290 100644 --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -6015,7 +6015,7 @@ x86_emulate( *pvex = vex; pvex->b = 1; pvex->r = 1; - pvex->reg = ~0; /* rAX */ + pvex->reg = 0xf; /* rAX */ buf[3] = b; buf[4] = 0x09; /* reg=rCX r/m=(%rCX) */ buf[5] = 0xc3; @@ -6049,7 +6049,7 @@ x86_emulate( *pvex = vex; pvex->b = 1; pvex->r = 1; - pvex->reg = ~0; /* rAX */ + pvex->reg = 0xf; /* rAX */ buf[3] = b; buf[4] = (modrm & 0x38) | 0x01; /* r/m=(%rCX) */ buf[5] = 0xc3; @@ -6147,7 +6147,7 @@ x86_emulate( *pxop = vex; pxop->b = 1; pxop->r = 1; - pxop->reg = ~0; /* rAX */ + pxop->reg = 0xf; /* rAX */ buf[3] = b; buf[4] = (modrm & 0x38) | 0x01; /* r/m=(%rCX) */ buf[5] = 0xc3; -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel