mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 21:11:23 +02:00
m68k/n68kmat.pas, tm68knotnode.pass_generate_code:
* correctly handle the case "expectloc = LOC_JUMP" * make internal error unique git-svn-id: trunk@22790 -
This commit is contained in:
parent
5bb0e5992b
commit
7ffd6c61a1
@ -69,6 +69,7 @@ implementation
|
|||||||
var
|
var
|
||||||
hl : tasmlabel;
|
hl : tasmlabel;
|
||||||
opsize : tcgsize;
|
opsize : tcgsize;
|
||||||
|
loc : tcgloc;
|
||||||
begin
|
begin
|
||||||
opsize:=def_cgsize(resultdef);
|
opsize:=def_cgsize(resultdef);
|
||||||
if is_boolean(resultdef) then
|
if is_boolean(resultdef) then
|
||||||
@ -77,9 +78,14 @@ implementation
|
|||||||
{ if it is a register variable, so we've to do }
|
{ if it is a register variable, so we've to do }
|
||||||
{ this before the case statement }
|
{ this before the case statement }
|
||||||
if left.expectloc<>LOC_JUMP then
|
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 :
|
LOC_JUMP :
|
||||||
begin
|
begin
|
||||||
location_reset(location,LOC_JUMP,OS_NO);
|
location_reset(location,LOC_JUMP,OS_NO);
|
||||||
@ -111,7 +117,7 @@ implementation
|
|||||||
location.resflags:=F_E;
|
location.resflags:=F_E;
|
||||||
end;
|
end;
|
||||||
else
|
else
|
||||||
internalerror(200203224);
|
internalerror(200203223);
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else if is_64bitint(left.resultdef) then
|
else if is_64bitint(left.resultdef) then
|
||||||
|
Loading…
Reference in New Issue
Block a user