Explorar o código

* better fix for tw1623 (generates more optimal code)

git-svn-id: trunk@5390 -
Jonas Maebe %!s(int64=18) %!d(string=hai) anos
pai
achega
5444207df8
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      compiler/ncal.pas

+ 2 - 2
compiler/ncal.pas

@@ -2353,7 +2353,7 @@ implementation
                 { po_inline is not yet unset (since set_resulttype needs  }
                 { it to determine whether the resulttype location may be  }
                 { changed)                                                }
-                typecheckpass(para.left);
+                firstpass(para.left);
 
                 { create temps for value parameters, function result and also for    }
                 { const parameters which are passed by value instead of by reference }
@@ -2374,7 +2374,7 @@ implementation
                     { substitute the dereferenced temp in the inlined function }
                     { We can't do this if we can't take the address of the     }
                     { parameter expression, so in that case assign to a temp   }
-                    (para.left.expectloc in [LOC_CSUBSETREG,LOC_SUBSETREG]) or
+                    not(para.left.expectloc in [LOC_REFERENCE,LOC_CREFERENCE,LOC_CONSTANT]) or
                     ((paracomplexity > 1) and
                      (not valid_for_addr(para.left,false) or
                       (para.left.nodetype = calln) or