瀏覽代碼

fcl-passrc: useanalyzer: no hint for assembler result

git-svn-id: trunk@38081 -
Mattias Gaertner 7 年之前
父節點
當前提交
064e7f391e
共有 1 個文件被更改,包括 7 次插入2 次删除
  1. 7 2
      packages/fcl-passrc/src/pasuseanalyzer.pas

+ 7 - 2
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