소스 검색

Avoid wrong typecast in DoReplace function as revealed by extcycle

git-svn-id: trunk@22376 -
pierre 13 년 전
부모
커밋
fd844d08e0
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      compiler/ncgutil.pas

+ 2 - 1
compiler/ncgutil.pas

@@ -1739,7 +1739,8 @@ implementation
         case n.nodetype of
           loadn:
             begin
-              if (tabstractvarsym(tloadnode(n).symtableentry).varoptions * [vo_is_dll_var, vo_is_thread_var] = []) and
+              if tloadnode(n).symtableentry.inheritsfrom(tabstractvarsym) and
+                 (tabstractvarsym(tloadnode(n).symtableentry).varoptions * [vo_is_dll_var, vo_is_thread_var] = []) and
                  not assigned(tloadnode(n).left) and
                  ((tloadnode(n).symtableentry <> rr^.ressym) or
                   not(fc_exit in flowcontrol)