fixed inline asm without operand case

This commit is contained in:
bellard 2003-04-14 22:22:34 +00:00
parent 85fa15e64c
commit 6e197e3d5d

View File

@ -710,12 +710,17 @@ static void asm_instr(void)
operands, nb_operands, nb_outputs, 1, operands, nb_operands, nb_outputs, 1,
input_regs_allocated); input_regs_allocated);
/* substitute the operands in the asm string */ /* substitute the operands in the asm string. No substitution is
done if no operands (GCC behaviour) */
#ifdef ASM_DEBUG #ifdef ASM_DEBUG
printf("asm: \"%s\"\n", (char *)astr.data); printf("asm: \"%s\"\n", (char *)astr.data);
#endif #endif
if (nb_operands > 0) {
subst_asm_operands(operands, nb_operands, nb_outputs, &astr1, &astr); subst_asm_operands(operands, nb_operands, nb_outputs, &astr1, &astr);
cstr_free(&astr); cstr_free(&astr);
} else {
astr1 = astr;
}
#ifdef ASM_DEBUG #ifdef ASM_DEBUG
printf("subst_asm: \"%s\"\n", (char *)astr1.data); printf("subst_asm: \"%s\"\n", (char *)astr1.data);
#endif #endif