Переглянути джерело

* 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;