From d38dbcac8f21d79c666649301216ec274ad838b7 Mon Sep 17 00:00:00 2001 From: Nikolay Nikolov Date: Sun, 11 Jun 2023 09:29:07 +0300 Subject: [PATCH] * use tcallparanode.parasym to find the tparavarsym in twasmcallnode.pass_typecheck --- compiler/wasm32/nwasmcal.pas | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/compiler/wasm32/nwasmcal.pas b/compiler/wasm32/nwasmcal.pas index 049b3df8fe..baaccb8bcd 100644 --- a/compiler/wasm32/nwasmcal.pas +++ b/compiler/wasm32/nwasmcal.pas @@ -57,7 +57,6 @@ implementation function twasmcallnode.pass_typecheck:tnode; var p: tcallparanode; - paranr: Integer; pvs: tparavarsym; begin result:=inherited; @@ -67,15 +66,14 @@ implementation if assigned(procdefinition) then begin p:=tcallparanode(left); - paranr:=0; while assigned(p) do begin - pvs:=tparavarsym(procdefinition.paras[paranr]); + pvs:=p.parasym; if assigned(p.left) and is_wasm_reference_type(p.left.resultdef) and + assigned(pvs) 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;