diff --git a/packages/fcl-passrc/tests/tcuseanalyzer.pas b/packages/fcl-passrc/tests/tcuseanalyzer.pas index 0dd7124fed..7919996660 100644 --- a/packages/fcl-passrc/tests/tcuseanalyzer.pas +++ b/packages/fcl-passrc/tests/tcuseanalyzer.pas @@ -74,6 +74,7 @@ type // single module hints procedure TestM_Hint_UnitNotUsed; + procedure TestM_Hint_UnitNotUsed_No_OnlyExternal; procedure TestM_Hint_ParameterNotUsed; procedure TestM_Hint_ParameterNotUsed_Abstract; procedure TestM_Hint_LocalVariableNotUsed; @@ -832,6 +833,27 @@ begin CheckHasHint(mtHint,nPAUnitNotUsed,'Unit "unit2" not used in afile'); end; +procedure TTestUseAnalyzer.TestM_Hint_UnitNotUsed_No_OnlyExternal; +begin + AddModuleWithIntfImplSrc('unit2.pp', + LinesToStr([ + 'var State: longint; external name ''state'';', + 'procedure DoIt; external name ''doing'';', + '']), + LinesToStr([ + ])); + + StartProgram(true); + Add('uses unit2;'); + Add('begin'); + Add(' State:=3;'); + Add(' DoIt;'); + AnalyzeProgram; + + // unit hints: no hint, even though no code is actually used + CheckHasHint(mtHint,nPAUnitNotUsed,'Unit "unit2" not used in afile',false); +end; + procedure TTestUseAnalyzer.TestM_Hint_ParameterNotUsed; begin StartProgram(true);