From 6e197e3d5d43f0c98f27c2a905f0f29c9a82119c Mon Sep 17 00:00:00 2001 From: bellard Date: Mon, 14 Apr 2003 22:22:34 +0000 Subject: [PATCH] fixed inline asm without operand case --- tccasm.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tccasm.c b/tccasm.c index 5b3b3595..22f29313 100644 --- a/tccasm.c +++ b/tccasm.c @@ -710,12 +710,17 @@ static void asm_instr(void) operands, nb_operands, nb_outputs, 1, 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 printf("asm: \"%s\"\n", (char *)astr.data); #endif - subst_asm_operands(operands, nb_operands, nb_outputs, &astr1, &astr); - cstr_free(&astr); + if (nb_operands > 0) { + subst_asm_operands(operands, nb_operands, nb_outputs, &astr1, &astr); + cstr_free(&astr); + } else { + astr1 = astr; + } #ifdef ASM_DEBUG printf("subst_asm: \"%s\"\n", (char *)astr1.data); #endif -- 2.11.4.GIT