* write the file location (if available), if a unit is not found, resolves #21514

git-svn-id: trunk@20583 -
This commit is contained in:
florian 2012-03-22 21:04:16 +00:00
parent ae5c440864
commit 4cf4c65502
2 changed files with 17 additions and 1 deletions

View File

@ -1484,6 +1484,7 @@ var
do_load,
second_time : boolean;
old_current_module : tmodule;
pu : tused_unit;
begin
old_current_module:=current_module;
Message3(unit_u_load_unit,old_current_module.modulename^,
@ -1620,7 +1621,19 @@ var
begin
printcomments;
if recompile_reason=rr_noppu then
Message2(unit_f_cant_find_ppu,realmodulename^,loaded_from.realmodulename^)
begin
pu:=tused_unit(loaded_from.used_units.first);
while assigned(pu) do
begin
if pu.u=self then
break;
pu:=tused_unit(pu.next);
end;
if assigned(pu) then
MessagePos2(pu.unitsym.fileinfo,unit_f_cant_find_ppu,realmodulename^,loaded_from.realmodulename^)
else
Message2(unit_f_cant_find_ppu,realmodulename^,loaded_from.realmodulename^);
end
else
Message1(unit_f_cant_compile_unit,realmodulename^);
end;

View File

@ -761,11 +761,13 @@ implementation
pu : tused_unit;
hp2 : tmodule;
unitsym : tunitsym;
filepos : tfileposinfo;
begin
consume(_USES);
repeat
s:=pattern;
sorg:=orgpattern;
filepos:=current_tokenpos;
consume(_ID);
while token=_POINT do
begin
@ -811,6 +813,7 @@ implementation
{ Create unitsym, we need to use the name as specified, we
can not use the modulename because that can be different
when -Un is used }
current_tokenpos:=filepos;
unitsym:=tunitsym.create(sorg,nil);
tabstractunitsymtable(current_module.localsymtable).insertunit(unitsym);
{ the current module uses the unit hp2 }