* Fixed mark_write for @ operator

(can happen when compiling @procvar:=nil (Delphi mode construction))
This commit is contained in:
daniel 2003-01-04 15:54:03 +00:00
parent a92d2c1f76
commit 25af993b76
2 changed files with 20 additions and 5 deletions

View File

@ -62,6 +62,7 @@ interface
constructor create(l : tnode);virtual;
constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override;
procedure ppuwrite(ppufile:tcompilerppufile);override;
procedure mark_write;override;
procedure derefimpl;override;
function getcopy : tnode;override;
function pass_1 : tnode;override;
@ -298,6 +299,12 @@ implementation
ppufile.putderef(getprocvardef);
end;
procedure Taddrnode.mark_write;
begin
{@procvar:=nil is legal in Delphi mode.}
left.mark_write;
end;
procedure taddrnode.derefimpl;
begin
@ -1043,7 +1050,11 @@ begin
end.
{
$Log$
Revision 1.42 2003-01-03 12:15:56 daniel
Revision 1.43 2003-01-04 15:54:03 daniel
* Fixed mark_write for @ operator
(can happen when compiling @procvar:=nil (Delphi mode construction))
Revision 1.42 2003/01/03 12:15:56 daniel
* Removed ifdefs around notifications
ifdefs around for loop optimizations remain

View File

@ -337,7 +337,7 @@ interface
{$endif}
{ For a t1:=t2 tree, mark the part of the tree t1 that gets
written to (normally the loadnode) as write access. }
procedure mark_write;virtual;
procedure mark_write;virtual;abstract;
procedure det_temp;virtual;abstract;
procedure pass_2;virtual;abstract;
@ -695,9 +695,9 @@ implementation
getcopy:=p;
end;
procedure tnode.mark_write;
{ procedure tnode.mark_write;
begin
end;
end;}
procedure tnode.insertintolist(l : tnodelist);
@ -976,7 +976,11 @@ implementation
end.
{
$Log$
Revision 1.48 2003-01-03 21:03:02 peter
Revision 1.49 2003-01-04 15:54:03 daniel
* Fixed mark_write for @ operator
(can happen when compiling @procvar:=nil (Delphi mode construction))
Revision 1.48 2003/01/03 21:03:02 peter
* made mark_write dummy instead of abstract
Revision 1.47 2003/01/03 12:15:56 daniel