|
@@ -64,17 +64,20 @@ implementation
|
|
|
if codegenerror then
|
|
|
exit;
|
|
|
|
|
|
- p:=tcallparanode(left);
|
|
|
- paranr:=0;
|
|
|
- while assigned(p) do
|
|
|
+ if assigned(procdefinition) then
|
|
|
begin
|
|
|
- pvs:=tparavarsym(procdefinition.paras[paranr]);
|
|
|
- if assigned(p.left) and is_wasm_reference_type(p.left.resultdef) and
|
|
|
- ((pvs.varspez in [vs_var,vs_constref,vs_out]) or
|
|
|
- ((pvs.varspez=vs_const) and (pvs.vardef.typ=formaldef))) then
|
|
|
- CGMessage(parser_e_wasm_ref_types_can_only_be_passed_by_value);
|
|
|
- Inc(paranr);
|
|
|
- p:=tcallparanode(tcallparanode(p).right);
|
|
|
+ p:=tcallparanode(left);
|
|
|
+ paranr:=0;
|
|
|
+ while assigned(p) do
|
|
|
+ begin
|
|
|
+ pvs:=tparavarsym(procdefinition.paras[paranr]);
|
|
|
+ if assigned(p.left) and is_wasm_reference_type(p.left.resultdef) and
|
|
|
+ ((pvs.varspez in [vs_var,vs_constref,vs_out]) or
|
|
|
+ ((pvs.varspez=vs_const) and (pvs.vardef.typ=formaldef))) then
|
|
|
+ CGMessage(parser_e_wasm_ref_types_can_only_be_passed_by_value);
|
|
|
+ Inc(paranr);
|
|
|
+ p:=tcallparanode(tcallparanode(p).right);
|
|
|
+ end;
|
|
|
end;
|
|
|
end;
|
|
|
|