소스 검색

+ support for tabstractlocalsymtable.iscurrentunit(). Required so that we
don't generate imports for nested routines in the llvm code generator,
as we check whether we have to do this based on whether or not the
procdef's owner is in the current unit (and that owner is a localsymtable
in case of a nested routine)
o nested calls now work with the llvm code generator

git-svn-id: branches/hlcgllvm@27139 -

Jonas Maebe 11 년 전
부모
커밋
103414136d
1개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  1. 8 0
      compiler/symtable.pas

+ 8 - 0
compiler/symtable.pas

@@ -171,6 +171,7 @@ interface
        public
           procedure ppuwrite(ppufile:tcompilerppufile);override;
           function count_locals:longint;
+          function iscurrentunit: boolean; override;
        end;
 
        tlocalsymtable = class(tabstractlocalsymtable)
@@ -1925,6 +1926,13 @@ implementation
          end;
       end;
 
+    function tabstractlocalsymtable.iscurrentunit: boolean;
+      begin
+        Result:=
+          assigned(defowner) and
+          defowner.owner.iscurrentunit;
+      end;
+
 
 {****************************************************************************
                               TLocalSymtable