Explorar o código

Avoid wrong typecast in DoReplace function as revealed by extcycle

git-svn-id: trunk@22376 -
pierre %!s(int64=13) %!d(string=hai) anos
pai
achega
fd844d08e0
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  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)