From 064e7f391e195cf808b5df23f26d66620e899f8b Mon Sep 17 00:00:00 2001 From: Mattias Gaertner Date: Mon, 29 Jan 2018 21:01:22 +0000 Subject: [PATCH] fcl-passrc: useanalyzer: no hint for assembler result git-svn-id: trunk@38081 - --- packages/fcl-passrc/src/pasuseanalyzer.pas | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/fcl-passrc/src/pasuseanalyzer.pas b/packages/fcl-passrc/src/pasuseanalyzer.pas index d5261292ca..58799278d4 100644 --- a/packages/fcl-passrc/src/pasuseanalyzer.pas +++ b/packages/fcl-passrc/src/pasuseanalyzer.pas @@ -1814,7 +1814,7 @@ var Usage: TPAElement; ProcScope: TPasProcedureScope; PosEl: TPasElement; - DeclProc: TPasProcedure; + DeclProc, ImplProc: TPasProcedure; begin {$IFDEF VerbosePasAnalyzer} writeln('TPasAnalyzer.EmitProcedureHints ',GetElModName(El)); @@ -1824,6 +1824,10 @@ begin DeclProc:=El else DeclProc:=ProcScope.DeclarationProc; + if ProcScope.ImplProc=nil then + ImplProc:=El + else + ImplProc:=ProcScope.ImplProc; if FindNode(DeclProc)=nil then begin // procedure never used @@ -1841,7 +1845,8 @@ begin // procedure was used - if [pmAbstract,pmAssembler,pmExternal]*El.Modifiers<>[] then exit; + if [pmAbstract,pmAssembler,pmExternal]*DeclProc.Modifiers<>[] then exit; + if [pmAssembler]*ImplProc.Modifiers<>[] then exit; if ProcScope.DeclarationProc=nil then begin