소스 검색

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