mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 16:09:26 +02:00
+ replace i:=succ/pred(i) by inc/dec(i)
git-svn-id: trunk@34791 -
This commit is contained in:
parent
8bbd2e4030
commit
509f6839fe
@ -563,6 +563,25 @@ implementation
|
||||
is_constrealnode(right) and
|
||||
not equal_defs(right.resultdef,left.resultdef) then
|
||||
inserttypeconv(right,left.resultdef);
|
||||
|
||||
{ replace i:=succ/pred(i) by inc/dec(i)? }
|
||||
if (right.nodetype=inlinen) and
|
||||
((tinlinenode(right).inlinenumber=in_succ_x) or (tinlinenode(right).inlinenumber=in_pred_x)) and
|
||||
(tinlinenode(right).left.isequal(left)) and
|
||||
((localswitches*[cs_check_overflow,cs_check_range])=[]) and
|
||||
((right.localswitches*[cs_check_overflow,cs_check_range])=[])
|
||||
then
|
||||
begin
|
||||
if tinlinenode(right).inlinenumber=in_succ_x then
|
||||
result:=cinlinenode.create(
|
||||
in_inc_x,false,ccallparanode.create(
|
||||
left.getcopy,nil))
|
||||
else
|
||||
result:=cinlinenode.create(
|
||||
in_dec_x,false,ccallparanode.create(
|
||||
left.getcopy,nil));
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user