From 283c3bd5527c25bab8b672ab222cbd14dab72a2c Mon Sep 17 00:00:00 2001 From: SARG Date: Mon, 3 May 2021 22:50:11 +0200 Subject: [PATCH 1/2] gas64 : fix an issue when only one character after a comma in an asmline --- src/compiler/ir-gas64.bas | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/compiler/ir-gas64.bas b/src/compiler/ir-gas64.bas index 795c54959e..f9da5fafc4 100644 --- a/src/compiler/ir-gas64.bas +++ b/src/compiler/ir-gas64.bas @@ -411,7 +411,7 @@ private sub check_optim(byref code as string) static as string prevpart1,prevpart2,prevmov static as long prevwpos,flag dim as long poschar1,poschar2,writepos - +print code if len(code)=0 then prevpart1="":prevpart2="":prevmov="":flag=KUSE_MOV ''reinit statics exit sub @@ -539,7 +539,7 @@ private sub check_optim(byref code as string) code="#O1 "+code else if prevpart2="" then ''todo remove me after fixed - asm_error("prevpart empty ????????") + asm_error("prev/part empty "+"part1="+part1+" part2="+part2+" prevpart1="+prevpart1+" prevpart2="+prevpart2) asm_info("code="+code) asm_info("part1="+part1+" part2="+part2+" prevpart1="+prevpart1+" prevpart2="+prevpart2) exit sub @@ -6189,7 +6189,11 @@ private sub _emitasmline( byval asmtokenhead as ASTASMTOK ptr ) select case( n->type ) case AST_ASMTOK_TEXT - asmline += *n->text + if *n->text="," then ''add a space to avoid issue during optimization + asmline += ", " + else + asmline += *n->text + end if asm_info("asm text="+*n->text) case AST_ASMTOK_SYMB From 0e9bfbf150549696251f6ac48991f66aeb53d918 Mon Sep 17 00:00:00 2001 From: SARG Date: Mon, 3 May 2021 22:56:13 +0200 Subject: [PATCH 2/2] gas64 : removal of useless print --- src/compiler/ir-gas64.bas | 1 - 1 file changed, 1 deletion(-) diff --git a/src/compiler/ir-gas64.bas b/src/compiler/ir-gas64.bas index f9da5fafc4..0ba99e6248 100644 --- a/src/compiler/ir-gas64.bas +++ b/src/compiler/ir-gas64.bas @@ -411,7 +411,6 @@ private sub check_optim(byref code as string) static as string prevpart1,prevpart2,prevmov static as long prevwpos,flag dim as long poschar1,poschar2,writepos -print code if len(code)=0 then prevpart1="":prevpart2="":prevmov="":flag=KUSE_MOV ''reinit statics exit sub