mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-31 23:26:09 +02:00
* when creating code for an iso mod operator, use create_internal for the helper nodes
to avoid unnecessary warnings git-svn-id: trunk@30270 -
This commit is contained in:
parent
a8e001d4ad
commit
36e79a874e
@ -361,7 +361,7 @@ implementation
|
||||
result_data:=ctempcreatenode.create(resultdef,resultdef.size,tt_persistent,true);
|
||||
|
||||
{ right <=0? }
|
||||
addstatement(statements,cifnode.create(caddnode.create(lten,right.getcopy,cordconstnode.create(0,resultdef,false)),
|
||||
addstatement(statements,cifnode.create_internal(caddnode.create_internal(lten,right.getcopy,cordconstnode.create(0,resultdef,false)),
|
||||
{ then: result:=left mod right }
|
||||
ccallnode.createintern('fpc_divbyzero',nil),
|
||||
nil
|
||||
@ -371,17 +371,17 @@ implementation
|
||||
{ result:=(-left) mod right }
|
||||
addstatement(else_statements,cassignmentnode.create(ctemprefnode.create(result_data),cmoddivnode.create(modn,cunaryminusnode.create(left.getcopy),right.getcopy)));
|
||||
{ result<>0? }
|
||||
addstatement(else_statements,cifnode.create(caddnode.create(unequaln,ctemprefnode.create(result_data),cordconstnode.create(0,resultdef,false)),
|
||||
addstatement(else_statements,cifnode.create_internal(caddnode.create_internal(unequaln,ctemprefnode.create(result_data),cordconstnode.create(0,resultdef,false)),
|
||||
{ then: result:=right-result }
|
||||
cassignmentnode.create(ctemprefnode.create(result_data),caddnode.create(subn,right.getcopy,ctemprefnode.create(result_data))),
|
||||
cassignmentnode.create_internal(ctemprefnode.create(result_data),caddnode.create_internal(subn,right.getcopy,ctemprefnode.create(result_data))),
|
||||
nil
|
||||
));
|
||||
|
||||
addstatement(statements,result_data);
|
||||
{ if left>=0 }
|
||||
addstatement(statements,cifnode.create(caddnode.create(gten,left.getcopy,cordconstnode.create(0,resultdef,false)),
|
||||
addstatement(statements,cifnode.create_internal(caddnode.create_internal(gten,left.getcopy,cordconstnode.create(0,resultdef,false)),
|
||||
{ then: result:=left mod right }
|
||||
cassignmentnode.create(ctemprefnode.create(result_data),cmoddivnode.create(modn,left.getcopy,right.getcopy)),
|
||||
cassignmentnode.create_internal(ctemprefnode.create(result_data),cmoddivnode.create(modn,left.getcopy,right.getcopy)),
|
||||
{ else block }
|
||||
else_block
|
||||
));
|
||||
|
Loading…
Reference in New Issue
Block a user