mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-02 20:19:34 +01:00
* fix for snapshot failue
* order_overloaded reintrocduced and adapted to operators
This commit is contained in:
parent
e4463fc278
commit
22a6677394
@ -410,7 +410,7 @@
|
||||
end;
|
||||
pd:=pd^.nextoverloaded;
|
||||
{ do not check defs of operators in other units }
|
||||
if pd^.procsym<>@self then
|
||||
if assigned(pd) and (pd^.procsym<>@self) then
|
||||
pd:=nil;
|
||||
end;
|
||||
end;
|
||||
@ -451,20 +451,22 @@
|
||||
{$endif DONOTCHAINOPERATORS}
|
||||
end;
|
||||
|
||||
{$ifdef DONOTCHAINOPERATORS}
|
||||
procedure tprocsym.order_overloaded;
|
||||
var firstdef,currdef,lastdef : pprocdef;
|
||||
var firstdef,currdef,lastdef,nextopdef : pprocdef;
|
||||
begin
|
||||
if not assigned(definition) then
|
||||
exit;
|
||||
firstdef:=definition;
|
||||
currdef:=definition;
|
||||
while assigned(currdef) do
|
||||
while assigned(currdef) and (currdef^.owner=firstdef^.owner) do
|
||||
begin
|
||||
currdef^.count:=false;
|
||||
currdef:=currdef^.nextoverloaded;
|
||||
end;
|
||||
nextopdef:=currdef;
|
||||
definition:=definition^.nextoverloaded;
|
||||
firstdef^.nextoverloaded:=nil;
|
||||
while assigned(definition) do
|
||||
while (definition<>nextopdef) do
|
||||
begin
|
||||
currdef:=firstdef;
|
||||
lastdef:=definition;
|
||||
@ -488,10 +490,11 @@
|
||||
while assigned(currdef) do
|
||||
begin
|
||||
currdef^.count:=true;
|
||||
lastdef:=currdef;
|
||||
currdef:=currdef^.nextoverloaded;
|
||||
end;
|
||||
lastdef^.nextoverloaded:=nextopdef;
|
||||
end;
|
||||
{$endif DONOTCHAINOPERATORS}
|
||||
|
||||
procedure tprocsym.write;
|
||||
begin
|
||||
@ -2144,7 +2147,11 @@
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.143 2000-04-26 08:54:19 pierre
|
||||
Revision 1.144 2000-04-27 10:06:04 pierre
|
||||
* fix for snapshot failue
|
||||
* order_overloaded reintrocduced and adapted to operators
|
||||
|
||||
Revision 1.143 2000/04/26 08:54:19 pierre
|
||||
* More changes for operator bug
|
||||
Order_overloaded method removed because it conflicted with
|
||||
new implementation where the defs are ordered
|
||||
|
||||
@ -115,9 +115,7 @@
|
||||
{ tests, if all procedures definitions are defined and not }
|
||||
{ only forward }
|
||||
procedure check_forward;
|
||||
{$ifdef DONOTCHAINOPERATORS}
|
||||
procedure order_overloaded;
|
||||
{$endif DONOTCHAINOPERATORS}
|
||||
procedure write;virtual;
|
||||
procedure deref;virtual;
|
||||
procedure load_references;virtual;
|
||||
@ -319,7 +317,11 @@
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.47 2000-04-26 08:54:19 pierre
|
||||
Revision 1.48 2000-04-27 10:06:04 pierre
|
||||
* fix for snapshot failue
|
||||
* order_overloaded reintrocduced and adapted to operators
|
||||
|
||||
Revision 1.47 2000/04/26 08:54:19 pierre
|
||||
* More changes for operator bug
|
||||
Order_overloaded method removed because it conflicted with
|
||||
new implementation where the defs are ordered
|
||||
|
||||
@ -1469,13 +1469,11 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
{$ifdef DONOTCHAINOPERATORS}
|
||||
procedure order_overloads(p : Pnamedindexobject);
|
||||
begin
|
||||
if psym(p)^.typ=procsym then
|
||||
pprocsym(p)^.order_overloaded;
|
||||
end;
|
||||
{$endif DONOTCHAINOPERATORS}
|
||||
|
||||
procedure tsymtable.foreach(proc2call : tnamedindexcallback);
|
||||
begin
|
||||
@ -1753,11 +1751,8 @@ implementation
|
||||
aktlocalsymtable:=@self;
|
||||
end;
|
||||
end;
|
||||
{$ifdef DONOTCHAINOPERATORS}
|
||||
{ obsolete code DO NOT USE it anymore PM }
|
||||
{ order procsym overloads }
|
||||
foreach({$ifndef TP}@{$endif}Order_overloads);
|
||||
{$endif DONOTCHAINOPERATORS}
|
||||
{ write definitions }
|
||||
writedefs;
|
||||
{ write symbols }
|
||||
@ -2884,7 +2879,11 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.86 2000-04-26 08:54:19 pierre
|
||||
Revision 1.87 2000-04-27 10:06:04 pierre
|
||||
* fix for snapshot failue
|
||||
* order_overloaded reintrocduced and adapted to operators
|
||||
|
||||
Revision 1.86 2000/04/26 08:54:19 pierre
|
||||
* More changes for operator bug
|
||||
Order_overloaded method removed because it conflicted with
|
||||
new implementation where the defs are ordered
|
||||
|
||||
Loading…
Reference in New Issue
Block a user