|
@@ -237,7 +237,10 @@ implementation
|
|
|
(pfiledef(p^.left^.resulttype)^.filetype = ft_typed)
|
|
|
) and
|
|
|
not(is_equal(p^.left^.resulttype,defcoll^.data))) then
|
|
|
- CGMessage(parser_e_call_by_ref_without_typeconv);
|
|
|
+ begin
|
|
|
+ aktfilepos:=p^.left^.fileinfo;
|
|
|
+ CGMessage(parser_e_call_by_ref_without_typeconv);
|
|
|
+ end;
|
|
|
{ process cargs arrayconstructor }
|
|
|
if is_array_constructor(p^.left^.resulttype) and
|
|
|
assigned(aktcallprocsym) and
|
|
@@ -277,7 +280,10 @@ implementation
|
|
|
(defcoll^.paratyp=vs_var) and
|
|
|
not(is_open_string(defcoll^.data)) and
|
|
|
not(is_equal(p^.left^.resulttype,defcoll^.data)) then
|
|
|
- CGMessage(type_e_strict_var_string_violation);
|
|
|
+ begin
|
|
|
+ aktfilepos:=p^.left^.fileinfo;
|
|
|
+ CGMessage(type_e_strict_var_string_violation);
|
|
|
+ end;
|
|
|
|
|
|
{ Variablen for call by reference may not be copied }
|
|
|
{ into a register }
|
|
@@ -287,10 +293,16 @@ implementation
|
|
|
begin
|
|
|
if defcoll^.paratyp=vs_var then
|
|
|
if not valid_for_formal_var(p^.left) then
|
|
|
- CGMessage(parser_e_illegal_parameter_list);
|
|
|
+ begin
|
|
|
+ aktfilepos:=p^.left^.fileinfo;
|
|
|
+ CGMessage(parser_e_illegal_parameter_list);
|
|
|
+ end;
|
|
|
if defcoll^.paratyp=vs_const then
|
|
|
if not valid_for_formal_const(p^.left) then
|
|
|
- CGMessage(parser_e_illegal_parameter_list);
|
|
|
+ begin
|
|
|
+ aktfilepos:=p^.left^.fileinfo;
|
|
|
+ CGMessage(parser_e_illegal_parameter_list);
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
if defcoll^.paratyp=vs_var then
|
|
@@ -472,7 +484,10 @@ implementation
|
|
|
pdc:=pdc^.next;
|
|
|
end;
|
|
|
if assigned(pt) or assigned(pdc) then
|
|
|
- CGMessage(parser_e_illegal_parameter_list);
|
|
|
+ begin
|
|
|
+ aktfilepos:=pt^.fileinfo;
|
|
|
+ CGMessage(parser_e_illegal_parameter_list);
|
|
|
+ end;
|
|
|
{ insert type conversions }
|
|
|
if assigned(p^.left) then
|
|
|
begin
|
|
@@ -576,6 +591,8 @@ implementation
|
|
|
((parsing_para_level=0) or assigned(p^.left)) and
|
|
|
(nextprocsym=nil) then
|
|
|
begin
|
|
|
+ if assigned(p^.left) then
|
|
|
+ aktfilepos:=p^.left^.fileinfo;
|
|
|
CGMessage(parser_e_wrong_parameter_size);
|
|
|
aktcallprocsym^.write_parameter_lists;
|
|
|
goto errorexit;
|
|
@@ -697,8 +714,11 @@ implementation
|
|
|
if (not assigned(lastparatype)) or (not assigned(pt^.resulttype)) then
|
|
|
internalerror(39393)
|
|
|
else
|
|
|
- CGMessage3(type_e_wrong_parameter_type,tostr(lastpara),
|
|
|
- pt^.resulttype^.typename,lastparatype^.typename);
|
|
|
+ begin
|
|
|
+ aktfilepos:=pt^.fileinfo;
|
|
|
+ CGMessage3(type_e_wrong_parameter_type,tostr(lastpara),
|
|
|
+ pt^.resulttype^.typename,lastparatype^.typename);
|
|
|
+ end;
|
|
|
aktcallprocsym^.write_parameter_lists;
|
|
|
goto errorexit;
|
|
|
end
|
|
@@ -1172,7 +1192,10 @@ implementation
|
|
|
end.
|
|
|
{
|
|
|
$Log$
|
|
|
- Revision 1.51 1999-06-01 19:27:57 peter
|
|
|
+ Revision 1.51.2.1 1999-06-28 00:33:47 pierre
|
|
|
+ * better error position bug0269
|
|
|
+
|
|
|
+ Revision 1.51 1999/06/01 19:27:57 peter
|
|
|
* better checks for procvar and methodpointer
|
|
|
|
|
|
Revision 1.50 1999/06/01 14:46:00 peter
|