diff --git a/lang/pc/pem/pem.p b/lang/pc/pem/pem.p index 14f98c912..9c4472fd0 100644 --- a/lang/pc/pem/pem.p +++ b/lang/pc/pem/pem.p @@ -1236,7 +1236,8 @@ begin begin if not (used in fip^.iflag) then errid(-(+019),fip^.name); if not (assigned in fip^.iflag) then errid(-(+020),fip^.name); lsp:=fip^.idtype; - if level<>1 then if not (noreg in fip^.iflag) then + if level<>1 then + if (refer in fip^.iflag) or not (noreg in fip^.iflag) then if (refer in fip^.iflag) or formof(lsp,[pointer]) then genreg(sz_addr,fip^.vpos.ad,reg_pointer) else