diff options
Diffstat (limited to 'compiler/ncgutil.pas')
-rw-r--r-- | compiler/ncgutil.pas | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/ncgutil.pas b/compiler/ncgutil.pas index 85f0eb4b96..e0eafd8af7 100644 --- a/compiler/ncgutil.pas +++ b/compiler/ncgutil.pas @@ -107,7 +107,7 @@ implementation defutil, procinfo,paramgr, dbgbase, - nbas,ncon,nld,nmem,nutils, + nadd,nbas,ncon,nld,nmem,nutils, tgobj,cgobj,hlcgobj,hlcgcpu {$ifdef powerpc} , cpupi @@ -192,7 +192,8 @@ implementation { always calculate boolean AND and OR from left to right } if (p.nodetype in [orn,andn]) and is_boolean(p.left.resultdef) and - (might_have_sideeffects(p.left) or might_have_sideeffects(p.right)) then + (might_have_sideeffects(p.left,[mhs_exceptions]) or might_have_sideeffects(p.right,[mhs_exceptions]) or + (nf_short_bool in taddnode(p).flags)) then begin if nf_swapped in p.flags then internalerror(200709253); |