diff --git a/packages/fcl-passrc/src/pasuseanalyzer.pas b/packages/fcl-passrc/src/pasuseanalyzer.pas index 8bf7c199f1..497fe96da2 100644 --- a/packages/fcl-passrc/src/pasuseanalyzer.pas +++ b/packages/fcl-passrc/src/pasuseanalyzer.pas @@ -607,6 +607,8 @@ begin UseExpr(TPasExpr(El)) else if C=TPasEnumValue then MarkElementAsUsed(El) + else if C.InheritsFrom(TPasModule) then + // e.g. unitname.identifier -> the module is used by the identifier else RaiseNotSupported(20170307090947,El); end; diff --git a/packages/fcl-passrc/tests/tcuseanalyzer.pas b/packages/fcl-passrc/tests/tcuseanalyzer.pas index 36826c78b6..251d694a95 100644 --- a/packages/fcl-passrc/tests/tcuseanalyzer.pas +++ b/packages/fcl-passrc/tests/tcuseanalyzer.pas @@ -1134,8 +1134,10 @@ begin StartProgram(false); Add('var {#a_notused}a: longint;'); Add('var {#b_used}b: longint;'); + Add('var {#c_used}c: longint;'); Add('begin'); Add(' b:=2;'); + Add(' afile.c:=3;'); AnalyzeWholeProgram; end;