Răsfoiți Sursa

* improved last commit, better handling of boolean expressions

git-svn-id: trunk@48885 -
florian 4 ani în urmă
părinte
comite
f448603970
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      compiler/nadd.pas

+ 1 - 1
compiler/nadd.pas

@@ -1715,7 +1715,7 @@ implementation
              (left.resultdef.typ=orddef) and
              (left.nodetype=andn) and
              (right.nodetype=andn) and
-             not(is_boolean(resultdef) or (cs_full_boolean_eval in current_settings.localswitches)) and
+             not(is_boolean(resultdef) or not(might_have_sideeffects(self,[mhs_exceptions])) or not(doshortbooleval(self))) and
              { this test is not needed but it speeds up the test and allows to bail out early }
              ((taddnode(left).left.nodetype=notn) or (taddnode(left).right.nodetype=notn) or
               (taddnode(right).left.nodetype=notn) or (taddnode(right).right.nodetype=notn)