From 7ffd6c61a1198fcbf2e525f6a56e9dbf2a0e9125 Mon Sep 17 00:00:00 2001 From: svenbarth Date: Sat, 20 Oct 2012 21:05:17 +0000 Subject: [PATCH] m68k/n68kmat.pas, tm68knotnode.pass_generate_code: * correctly handle the case "expectloc = LOC_JUMP" * make internal error unique git-svn-id: trunk@22790 - --- compiler/m68k/n68kmat.pas | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/compiler/m68k/n68kmat.pas b/compiler/m68k/n68kmat.pas index 8f8e76ea31..ff126c789c 100644 --- a/compiler/m68k/n68kmat.pas +++ b/compiler/m68k/n68kmat.pas @@ -69,6 +69,7 @@ implementation var hl : tasmlabel; opsize : tcgsize; + loc : tcgloc; begin opsize:=def_cgsize(resultdef); if is_boolean(resultdef) then @@ -77,9 +78,14 @@ implementation { if it is a register variable, so we've to do } { this before the case statement } if left.expectloc<>LOC_JUMP then - secondpass(left); + begin + secondpass(left); + loc:=left.location.loc; + end + else + loc:=LOC_JUMP; - case left.location.loc of + case loc of LOC_JUMP : begin location_reset(location,LOC_JUMP,OS_NO); @@ -111,7 +117,7 @@ implementation location.resflags:=F_E; end; else - internalerror(200203224); + internalerror(200203223); end; end else if is_64bitint(left.resultdef) then