mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-31 08:22:37 +02:00
* fixed <= and >= for sets
This commit is contained in:
parent
618547adf0
commit
1ef759bc9a
@ -378,42 +378,33 @@ implementation
|
||||
{$EndIf NoSetInclusion}
|
||||
: begin
|
||||
cmpop:=true;
|
||||
{$IfNDef regallocfix}
|
||||
del_location(p^.left^.location);
|
||||
del_location(p^.right^.location);
|
||||
pushusedregisters(pushedregs,$ff);
|
||||
{$EndIf regallocfix}
|
||||
{$IfNDef NoSetInclusion}
|
||||
If (p^.treetype in [equaln, unequaln, lten]) Then
|
||||
Begin
|
||||
{$EndIf NoSetInclusion}
|
||||
emitpushreferenceaddr(p^.right^.location.reference);
|
||||
{$IfDef regallocfix}
|
||||
del_location(p^.right^.location);
|
||||
{$EndIf regallocfix}
|
||||
emitpushreferenceaddr(p^.left^.location.reference);
|
||||
{$IfDef regallocfix}
|
||||
del_location(p^.left^.location);
|
||||
{$EndIf regallocfix}
|
||||
{$IfNDef NoSetInclusion}
|
||||
End
|
||||
Else {gten = lten, if the arguments are reversed}
|
||||
Begin
|
||||
emitpushreferenceaddr(p^.left^.location.reference);
|
||||
{$IfDef regallocfix}
|
||||
del_location(p^.left^.location);
|
||||
{$EndIf regallocfix}
|
||||
emitpushreferenceaddr(p^.right^.location.reference);
|
||||
{$IfDef regallocfix}
|
||||
del_location(p^.right^.location);
|
||||
{$EndIf regallocfix}
|
||||
End;
|
||||
Case p^.treetype of
|
||||
equaln, unequaln:
|
||||
{$EndIf NoSetInclusion}
|
||||
emitcall('FPC_SET_COMP_SETS');
|
||||
{$IfNDef NoSetInclusion}
|
||||
lten, gten: emitcall('FPC_SET_CONTAINS_SETS')
|
||||
lten, gten:
|
||||
Begin
|
||||
emitcall('FPC_SET_CONTAINS_SETS');
|
||||
{ we need a jne afterwards, not a jnbe/jnae }
|
||||
p^.treetype := equaln;
|
||||
End;
|
||||
End;
|
||||
{$EndIf NoSetInclusion}
|
||||
maybe_loadesi;
|
||||
@ -954,7 +945,7 @@ implementation
|
||||
Case p^.treetype of
|
||||
lten,gten:
|
||||
Begin
|
||||
If p^.treetype = gten then
|
||||
If p^.treetype = lten then
|
||||
swaptree(p);
|
||||
if p^.left^.location.loc in [LOC_MEM,LOC_REFERENCE] then
|
||||
begin
|
||||
@ -2122,7 +2113,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.74 1999-08-19 13:08:43 pierre
|
||||
Revision 1.75 1999-08-23 10:35:13 jonas
|
||||
* fixed <= and >= for sets
|
||||
|
||||
Revision 1.74 1999/08/19 13:08:43 pierre
|
||||
* emit_??? used
|
||||
|
||||
Revision 1.73 1999/08/07 11:29:26 peter
|
||||
|
Loading…
Reference in New Issue
Block a user