fcl-passrc: resolver: unit not used: use position of uses expression

git-svn-id: trunk@37568 -
This commit is contained in:
Mattias Gaertner 2017-11-07 16:28:44 +00:00
parent ab1a82bfb3
commit 4bbbf75d32
2 changed files with 7 additions and 4 deletions

View File

@ -1590,6 +1590,7 @@ var
i: Integer;
UsedModule, aModule: TPasModule;
UsesClause: TPasUsesClause;
Use: TPasUsesUnit;
begin
{$IFDEF VerbosePasAnalyzer}
writeln('TPasAnalyzer.EmitSectionHints ',GetElModName(Section));
@ -1599,13 +1600,14 @@ begin
UsesClause:=Section.UsesClause;
for i:=0 to length(UsesClause)-1 do
begin
if UsesClause[i].Module is TPasModule then
Use:=UsesClause[i];
if Use.Module is TPasModule then
begin
UsedModule:=TPasModule(UsesClause[i].Module);
UsedModule:=TPasModule(Use.Module);
if CompareText(UsedModule.Name,'system')=0 then continue;
if FindNode(UsedModule)=nil then
EmitMessage(20170311191725,mtHint,nPAUnitNotUsed,sPAUnitNotUsed,
[UsedModule.Name,aModule.Name],aModule);
[UsedModule.Name,aModule.Name],Use.Expr);
end;
end;

View File

@ -1570,7 +1570,8 @@ begin
'procedure DoIt; begin end;']));
StartProgram(true);
Add('uses unit2;');
Add('uses');
Add(' unit2;');
Add('begin');
AnalyzeWholeProgram;