瀏覽代碼

Fixed parameter types when calling FoxArrayBase.AllocateTensorX with 64-bit sizes

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7768 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 年之前
父節點
當前提交
ba8b34e304
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      source/FoxIntermediateBackend.Mod
  2. 1 1
      source/FoxSemanticChecker.Mod

+ 1 - 1
source/FoxIntermediateBackend.Mod

@@ -8510,7 +8510,7 @@ TYPE
 							WHILE (type IS SyntaxTree.MathArrayType) & (type(SyntaxTree.MathArrayType).form # SyntaxTree.Static) DO
 								type := type(SyntaxTree.MathArrayType).arrayBase.resolved;
 							END;
-							tmp := IntermediateCode.Immediate(IntermediateCode.GetType(system, system.longintType),ToMemoryUnits(system,system.SizeOf(type))); (* alignment *)
+							tmp := IntermediateCode.Immediate(IntermediateCode.GetType(system, system.sizeType),ToMemoryUnits(system,system.SizeOf(type))); (* alignment *)
 							Emit(Push(position,tmp));
 							(* *)
 							IF SemanticChecker.ContainsPointer(type) THEN

+ 1 - 1
source/FoxSemanticChecker.Mod

@@ -5375,7 +5375,7 @@ TYPE
 									END;
 
 									parameterType := SyntaxTree.NewMathArrayType(Basic.invalidPosition,currentScope,SyntaxTree.Open);
-									parameterType(SyntaxTree.MathArrayType).SetArrayBase(system.lenType);
+									parameterType(SyntaxTree.MathArrayType).SetArrayBase(system.sizeType);
 									IF ~CompatibleTo(system,type1,parameterType) THEN
 										Error(parameter1.position,"parameter incompatible to math array len type");
 										result := SyntaxTree.invalidExpression;