Преглед изворни кода

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)