diff --git a/compiler/psub.pas b/compiler/psub.pas index 312e15d5f7..c6f819eb1a 100644 --- a/compiler/psub.pas +++ b/compiler/psub.pas @@ -1817,8 +1817,10 @@ implementation if tsym(p).typ<>paravarsym then exit; with tparavarsym(p) do - if is_managed_type(vardef) and - (varspez in [vs_value,vs_out]) then + if (is_managed_type(vardef) and + (varspez in [vs_value,vs_out])) or + (is_shortstring(vardef) and + (varspez=vs_value)) then include(current_procinfo.flags,pi_do_call); end;