Explorar o código

* also check for nf_assign_done_in_right flag after typechecking the right side

git-svn-id: trunk@39118 -
svenbarth %!s(int64=7) %!d(string=hai) anos
pai
achega
85439a0fa0
Modificáronse 1 ficheiros con 8 adicións e 0 borrados
  1. 8 0
      compiler/nld.pas

+ 8 - 0
compiler/nld.pas

@@ -596,6 +596,14 @@ implementation
         if codegenerror then
           exit;
 
+        { just in case the typecheckpass of right optimized something here }
+        if nf_assign_done_in_right in flags then
+          begin
+            result:=right;
+            right:=nil;
+            exit;
+          end;
+
         { tp procvar support, when we don't expect a procvar
           then we need to call the procvar }
         if (left.resultdef.typ<>procvardef) then