Pārlūkot izejas kodu

fixed a bug introduced in rev. 6625, only in 64-bit mode the caller has to return parameter space

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6626 8c9fc860-2736-0410-a75d-ab315db34111
eth.guenter 9 gadi atpakaļ
vecāks
revīzija
b9a279517f
1 mainītis faili ar 2 papildinājumiem un 2 dzēšanām
  1. 2 2
      source/FoxIntermediateBackend.Mod

+ 2 - 2
source/FoxIntermediateBackend.Mod

@@ -5725,9 +5725,9 @@ TYPE
 			END;
 			
 			(* === return parameter space === *)
-			IF procedureType.callingConvention = SyntaxTree.WinAPICallingConvention THEN
+			IF (procedureType.callingConvention = SyntaxTree.WinAPICallingConvention) & passByRegister THEN
 				parametersSize := ToMemoryUnits(system,parameters.Length()*addressType.sizeInBits);
-				IF passByRegister & (parametersSize < 32) THEN 
+				IF (parametersSize > 0) & (parametersSize < 32) THEN 
 					(* allocated space for all parameter registers *)
 					parametersSize := 32
 				END;