* fix error when passing constant to var parameter

This commit is contained in:
peter 2004-08-22 11:24:09 +00:00
parent bd1bd1ab20
commit 0d81be8dee

View File

@ -1893,9 +1893,16 @@ implementation
{ Show error message, when it was a var or out parameter
guess that it is a missing typeconv }
if hp^.wrongpara.paratyp in [vs_var,vs_out] then
CGMessagePos2(pt.fileinfo,parser_e_call_by_ref_without_typeconv,
FullTypeName(pt.resulttype.def,hp^.wrongpara.paratype.def),
FullTypeName(hp^.wrongpara.paratype.def,pt.resulttype.def))
begin
{ Maybe passing the correct type but passing a const to var parameter }
if (compare_defs(pt.resulttype.def,hp^.wrongpara.paratype.def,pt.nodetype)<>te_incompatible) and
not valid_for_var(pt) then
CGMessagePos(pt.fileinfo,type_e_variable_id_expected)
else
CGMessagePos2(pt.fileinfo,parser_e_call_by_ref_without_typeconv,
FullTypeName(pt.resulttype.def,hp^.wrongpara.paratype.def),
FullTypeName(hp^.wrongpara.paratype.def,pt.resulttype.def))
end
else
CGMessagePos3(pt.fileinfo,type_e_wrong_parameter_type,tostr(hp^.wrongparanr),
FullTypeName(pt.resulttype.def,hp^.wrongpara.paratype.def),
@ -1906,7 +1913,10 @@ implementation
end.
{
$Log$
Revision 1.95 2004-06-23 16:22:45 peter
Revision 1.96 2004-08-22 11:24:09 peter
* fix error when passing constant to var parameter
Revision 1.95 2004/06/23 16:22:45 peter
* include unit name in error messages when types are the same
Revision 1.94 2004/06/20 08:55:29 florian