|
|
@@ -600,7 +600,7 @@ PROCEDURE CanProc (proc: AST.Node): BOOLEAN;
|
|
|
i := 0;
|
|
|
WHILE i < np DO
|
|
|
IF NOT ParamInfo(nm, i, t, isV, pn) THEN RETURN FALSE END;
|
|
|
- IF NOT IsScalarClass(SymTab.ClassOf(t)) THEN RETURN FALSE END;
|
|
|
+ IF NOT CanType(t) THEN RETURN FALSE END;
|
|
|
INC(i)
|
|
|
END;
|
|
|
RETURN CanDecls(AST.Child(proc, 2)) AND CanStmt(AST.Child(proc, 1))
|
|
|
@@ -1367,7 +1367,7 @@ PROCEDURE LowerDecls (seq: AST.Node);
|
|
|
j := 0;
|
|
|
WHILE j < np DO
|
|
|
IF NOT ParamInfo(nm, j, pt, pv, txt) THEN END;
|
|
|
- IF NOT QbeGen.FuncParam(txt, pv, pt) THEN END;
|
|
|
+ IF NOT QbeGen.FuncParam(txt, pv OR SymTab.IsOpenArray(pt), pt) THEN END;
|
|
|
INC(j)
|
|
|
END;
|
|
|
QbeGen.SetFuncRes(res);
|