소스 검색

Fix invalid typecast revealed by -CriotR by changing order of terms in boolean expression

git-svn-id: trunk@43515 -
pierre 5 년 전
부모
커밋
7eb0be6127
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 2
      compiler/nutils.pas

+ 3 - 2
compiler/nutils.pas

@@ -780,8 +780,9 @@ implementation
                   else if not((tloadnode(p).symtableentry.typ in [staticvarsym,localvarsym,paravarsym,fieldvarsym]) and
                     (tabstractvarsym(tloadnode(p).symtableentry).varregable in [vr_intreg,vr_mmreg,vr_fpureg])) then
                     inc(result);
-                  if not(tabstractvarsym(tloadnode(p).symtableentry).varregable=vr_addr) and
-                    (tloadnode(p).symtableentry.typ=paravarsym) and tloadnode(p).is_addr_param_load then
+                  if (tloadnode(p).symtableentry.typ=paravarsym) and
+                     not(tabstractvarsym(tloadnode(p).symtableentry).varregable=vr_addr) and
+                     tloadnode(p).is_addr_param_load then
                     inc(result);
                   if (result >= NODE_COMPLEXITY_INF) then
                     result := NODE_COMPLEXITY_INF;