|
@@ -1404,7 +1404,13 @@ implementation
|
|
|
((n.nodetype in [addn,subn,muln,divn,slashn,unaryminusn]) and (n.localswitches*[cs_check_overflow,cs_check_range]<>[]))
|
|
|
)
|
|
|
) or
|
|
|
- ((n.nodetype=loadn) and (tloadnode(n).symtableentry.typ=absolutevarsym) and (tabsolutevarsym(tloadnode(n).symtableentry).abstyp=toaddr)
|
|
|
+ ((n.nodetype=loadn) and
|
|
|
+ (
|
|
|
+ ((tloadnode(n).symtableentry.typ=absolutevarsym) and (tabsolutevarsym(tloadnode(n).symtableentry).abstyp=toaddr)) or
|
|
|
+ ((tloadnode(n).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) and
|
|
|
+ (vo_volatile in tabstractvarsym(tloadnode(n).symtableentry).varoptions)
|
|
|
+ )
|
|
|
+ )
|
|
|
) then
|
|
|
result:=fen_norecurse_true;
|
|
|
end;
|