ソースを参照

* don't swap and/or boolean operations, they always need to be evaluated in
the regular order (caused internalerror 200709253 while compiling
tests/test/jvm/trange3, not sure why it wasn't a problem before)

git-svn-id: trunk@35349 -

Jonas Maebe 8 年 前
コミット
098d64b631
1 ファイル変更3 行追加1 行削除
  1. 3 1
      compiler/jvm/njvmadd.pas

+ 3 - 1
compiler/jvm/njvmadd.pas

@@ -372,7 +372,9 @@ interface
 
     procedure tjvmaddnode.pass_left_right;
       begin
-        swapleftright;
+        if not((nodetype in [orn,andn]) and
+               is_boolean(left.resultdef)) then
+          swapleftright;
         inherited pass_left_right;
       end;