diff --git a/compiler/ncal.pas b/compiler/ncal.pas index 63ac9a7390..fa1de8c1bf 100644 --- a/compiler/ncal.pas +++ b/compiler/ncal.pas @@ -1317,10 +1317,12 @@ implementation result:=hpt; goto errorexit; end; +{$ifdef dummy} { Calling a message method directly ? } if assigned(procdefinition) and (po_containsself in procdefinition.procoptions) then message(cg_e_cannot_call_message_direct); +{$endif} { ensure that the result type is set } if not restypeset then @@ -2593,7 +2595,10 @@ begin end. { $Log$ - Revision 1.91 2002-09-01 12:14:15 peter + Revision 1.92 2002-09-01 13:28:37 daniel + - write_access fields removed in favor of a flag + + Revision 1.91 2002/09/01 12:14:15 peter * remove debug line * containself methods can be called directly diff --git a/compiler/nld.pas b/compiler/nld.pas index 5d9d609d17..b95a11b7d5 100644 --- a/compiler/nld.pas +++ b/compiler/nld.pas @@ -38,7 +38,6 @@ interface symtableentry : tsym; symtable : tsymtable; procdef : tprocdef; - write_access : boolean; constructor create(v : tsym;st : tsymtable);virtual; constructor create_procvar(v : tsym;d:tprocdef;st : tsymtable);virtual; constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override; @@ -77,7 +76,6 @@ interface tassignmentnodeclass = class of tassignmentnode; tfuncretnode = class(tnode) - write_access : boolean; funcretsym : tfuncretsym; constructor create(v:tsym);virtual; constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override; @@ -363,7 +361,7 @@ implementation procedure Tloadnode.mark_write; begin - write_access:=true; + include(flags,nf_write); end; {$endif} @@ -739,7 +737,7 @@ implementation procedure Tfuncretnode.mark_write; begin - write_access:=true; + include(flags,nf_write); end; {$endif} @@ -1145,7 +1143,10 @@ begin end. { $Log$ - Revision 1.55 2002-09-01 08:01:16 daniel + Revision 1.56 2002-09-01 13:28:37 daniel + - write_access fields removed in favor of a flag + + Revision 1.55 2002/09/01 08:01:16 daniel * Removed sets from Tcallnode.det_resulttype + Added read/write notifications of variables. These will be usefull for providing information for several optimizations. For example diff --git a/compiler/nmem.pas b/compiler/nmem.pas index b0d26936d2..a3e62c135f 100644 --- a/compiler/nmem.pas +++ b/compiler/nmem.pas @@ -77,9 +77,6 @@ interface tdoubleaddrnodeclass = class of tdoubleaddrnode; tderefnode = class(tunarynode) - {$ifdef var_notification} - write_access:boolean; - {$endif} constructor create(l : tnode);virtual; function pass_1 : tnode;override; function det_resulttype:tnode;override; @@ -91,9 +88,6 @@ interface tsubscriptnode = class(tunarynode) vs : tvarsym; - {$ifdef var_notification} - write_access:boolean; - {$endif} constructor create(varsym : tsym;l : tnode);virtual; constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override; procedure ppuwrite(ppufile:tcompilerppufile);override; @@ -109,7 +103,6 @@ interface tsubscriptnodeclass = class of tsubscriptnode; tvecnode = class(tbinarynode) - write_access:boolean; constructor create(l,r : tnode);virtual; function pass_1 : tnode;override; function det_resulttype:tnode;override; @@ -589,7 +582,7 @@ implementation procedure Tderefnode.mark_write; begin - write_access:=true; + include(flags,nf_write); end; {$endif} @@ -666,7 +659,7 @@ implementation procedure Tsubscriptnode.mark_write; begin - write_access:=true; + include(flags,nf_write); end; {$endif} @@ -787,7 +780,7 @@ implementation procedure Tvecnode.mark_write; begin - write_access:=true; + include(flags,nf_write); end; {$endif} @@ -1058,7 +1051,10 @@ begin end. { $Log$ - Revision 1.37 2002-09-01 08:01:16 daniel + Revision 1.38 2002-09-01 13:28:38 daniel + - write_access fields removed in favor of a flag + + Revision 1.37 2002/09/01 08:01:16 daniel * Removed sets from Tcallnode.det_resulttype + Added read/write notifications of variables. These will be usefull for providing information for several optimizations. For example diff --git a/compiler/node.pas b/compiler/node.pas index 8bfd865a81..b45e023781 100644 --- a/compiler/node.pas +++ b/compiler/node.pas @@ -217,6 +217,7 @@ interface nf_swapable, { tbinop operands can be swaped } nf_swaped, { tbinop operands are swaped } nf_error, + nf_write, { Node is written to } { flags used by tcallnode } nf_return_value_used, @@ -250,10 +251,10 @@ interface nf_concat_string, { tfuncretnode } - nf_is_first_funcret, { 20th } + nf_is_first_funcret, { tarrayconstructnode } - nf_cargs, + nf_cargs, { 20th } nf_cargswap, nf_forcevaria, nf_novariaallowed, @@ -269,7 +270,7 @@ interface nf_varstateset, { tasmnode } - nf_object_preserved, + nf_object_preserved, { 30th } { taddnode } nf_use_strconcat @@ -988,7 +989,10 @@ implementation end. { $Log$ - Revision 1.40 2002-09-01 08:01:16 daniel + Revision 1.41 2002-09-01 13:28:38 daniel + - write_access fields removed in favor of a flag + + Revision 1.40 2002/09/01 08:01:16 daniel * Removed sets from Tcallnode.det_resulttype + Added read/write notifications of variables. These will be usefull for providing information for several optimizations. For example