Bladeren bron

Patched a problem with register transfer.
Example code that went wrong. Works correctly now.

PROCEDURE Test(): ARRAY [*,*] OF BOOLEAN;
VAR b: ARRAY [*,*] OF BOOLEAN;
BEGIN
b := RESULT[.., ..LEN(RESULT,1)-100];
TRACE(LEN(b,0), LEN(b,1), LEN(RESULT,0), LEN(RESULT,1));
RETURN RESULT;
END Test;

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6495 8c9fc860-2736-0410-a75d-ab315db34111

felixf 9 jaren geleden
bovenliggende
commit
ac725027b0
1 gewijzigde bestanden met toevoegingen van 1 en 1 verwijderingen
  1. 1 1
      source/FoxIntermediateBackend.Mod

+ 1 - 1
source/FoxIntermediateBackend.Mod

@@ -3892,8 +3892,8 @@ TYPE
 							END
 						ELSE
 							skipLabel1 := NewLabel();
-							BrgeL(skipLabel1, targetLength, IntermediateCode.Immediate(sizeType, 0));
 							TransferToRegister(targetLength, targetLength);
+							BrgeL(skipLabel1, targetLength, IntermediateCode.Immediate(sizeType, 0));
 							Emit(Mov(position,targetLength, IntermediateCode.Immediate(sizeType, 0)));
 							SetLabel(skipLabel1)
 						END;