Make more vm_x86 macros use braces so they work with if blah run macro

MASK_REG in EmitMovEDXStack would incorrectly emit asm if 'andit' was 0.
'andit' would never be 0 though so it wasn't causing issues.

Found by Coverity.
This commit is contained in:
Zack Middleton 2015-07-12 18:56:15 -05:00
parent ee2541efee
commit 2e904141ff

View file

@ -203,19 +203,25 @@ static void EmitRexString(byte rex, const char *string)
#define MASK_REG(modrm, mask) \ #define MASK_REG(modrm, mask) \
do { \
EmitString("81"); \ EmitString("81"); \
EmitString((modrm)); \ EmitString((modrm)); \
Emit4((mask)) Emit4((mask)); \
} while(0)
// add bl, bytes // add bl, bytes
#define STACK_PUSH(bytes) \ #define STACK_PUSH(bytes) \
do { \
EmitString("80 C3"); \ EmitString("80 C3"); \
Emit1(bytes) Emit1(bytes); \
} while(0)
// sub bl, bytes // sub bl, bytes
#define STACK_POP(bytes) \ #define STACK_POP(bytes) \
do { \
EmitString("80 EB"); \ EmitString("80 EB"); \
Emit1(bytes) Emit1(bytes); \
} while(0)
static void EmitCommand(ELastCommand command) static void EmitCommand(ELastCommand command)
{ {