2
0
Эх сурвалжийг харах

--- Merging r32602 into '.':
A tests/webtbs/tw28713b.pp
A tests/webtbs/tw28713.pp
U compiler/nmem.pas
--- Recording mergeinfo for merge of r32602 into '.':
U .
--- Merging r33195 into '.':
G compiler/nmem.pas
--- Recording mergeinfo for merge of r33195 into '.':

git-svn-id: branches/fixes_3_0@34054 -

Jonas Maebe 9 жил өмнө
parent
commit
c86b538a25
1 өөрчлөгдсөн 7 нэмэгдсэн , 0 устгасан
  1. 7 0
      compiler/nmem.pas

+ 7 - 0
compiler/nmem.pas

@@ -761,6 +761,10 @@ implementation
     procedure Tsubscriptnode.mark_write;
       begin
         include(flags,nf_write);
+        { if an element of a record is written, then the whole record is changed/it is written to it,
+          for data types being implicit pointers this does not apply as the object itself does not change }
+        if not(is_implicit_pointer_object_type(left.resultdef)) then
+          left.mark_write;
       end;
 
 
@@ -1064,6 +1068,9 @@ implementation
     procedure Tvecnode.mark_write;
       begin
         include(flags,nf_write);
+        { see comment in tsubscriptnode.mark_write }
+        if not(is_implicit_pointer_object_type(left.resultdef)) then
+          left.mark_write;
       end;