mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-13 01:29:28 +02:00
+ retinparam fixes for exp, frac, int, cos, sin, arctan, ln, round and trunc
git-svn-id: branches/z80@45016 -
This commit is contained in:
parent
661db99581
commit
b4ff7388df
@ -4168,12 +4168,18 @@ implementation
|
||||
|
||||
|
||||
function tinlinenode.first_arctan_real : tnode;
|
||||
var
|
||||
temp_pnode: pnode;
|
||||
begin
|
||||
{ create the call to the helper }
|
||||
{ on entry left node contains the parameter }
|
||||
if left.nodetype = callparan then
|
||||
temp_pnode := @tcallparanode(left).left
|
||||
else
|
||||
temp_pnode := @left;
|
||||
result := ccallnode.createintern('fpc_arctan_real',
|
||||
ccallparanode.create(left,nil));
|
||||
left := nil;
|
||||
ccallparanode.create(temp_pnode^,nil));
|
||||
temp_pnode^ := nil;
|
||||
end;
|
||||
|
||||
function tinlinenode.first_abs_real : tnode;
|
||||
@ -4267,78 +4273,126 @@ implementation
|
||||
end;
|
||||
|
||||
function tinlinenode.first_ln_real : tnode;
|
||||
var
|
||||
temp_pnode: pnode;
|
||||
begin
|
||||
{ create the call to the helper }
|
||||
{ on entry left node contains the parameter }
|
||||
if left.nodetype = callparan then
|
||||
temp_pnode := @tcallparanode(left).left
|
||||
else
|
||||
temp_pnode := @left;
|
||||
result := ccallnode.createintern('fpc_ln_real',
|
||||
ccallparanode.create(left,nil));
|
||||
ccallparanode.create(temp_pnode^,nil));
|
||||
include(tcallnode(result).callnodeflags,cnf_check_fpu_exceptions);
|
||||
left := nil;
|
||||
temp_pnode^ := nil;
|
||||
end;
|
||||
|
||||
function tinlinenode.first_cos_real : tnode;
|
||||
var
|
||||
temp_pnode: pnode;
|
||||
begin
|
||||
{ create the call to the helper }
|
||||
{ on entry left node contains the parameter }
|
||||
if left.nodetype = callparan then
|
||||
temp_pnode := @tcallparanode(left).left
|
||||
else
|
||||
temp_pnode := @left;
|
||||
result := ccallnode.createintern('fpc_cos_real',
|
||||
ccallparanode.create(left,nil));
|
||||
ccallparanode.create(temp_pnode^,nil));
|
||||
include(tcallnode(result).callnodeflags,cnf_check_fpu_exceptions);
|
||||
left := nil;
|
||||
temp_pnode^ := nil;
|
||||
end;
|
||||
|
||||
function tinlinenode.first_sin_real : tnode;
|
||||
var
|
||||
temp_pnode: pnode;
|
||||
begin
|
||||
{ create the call to the helper }
|
||||
{ on entry left node contains the parameter }
|
||||
if left.nodetype = callparan then
|
||||
temp_pnode := @tcallparanode(left).left
|
||||
else
|
||||
temp_pnode := @left;
|
||||
result := ccallnode.createintern('fpc_sin_real',
|
||||
ccallparanode.create(left,nil));
|
||||
ccallparanode.create(temp_pnode^,nil));
|
||||
include(tcallnode(result).callnodeflags,cnf_check_fpu_exceptions);
|
||||
left := nil;
|
||||
temp_pnode^ := nil;
|
||||
end;
|
||||
|
||||
function tinlinenode.first_exp_real : tnode;
|
||||
var
|
||||
temp_pnode: pnode;
|
||||
begin
|
||||
{ create the call to the helper }
|
||||
{ on entry left node contains the parameter }
|
||||
result := ccallnode.createintern('fpc_exp_real',ccallparanode.create(left,nil));
|
||||
if left.nodetype = callparan then
|
||||
temp_pnode := @tcallparanode(left).left
|
||||
else
|
||||
temp_pnode := @left;
|
||||
result := ccallnode.createintern('fpc_exp_real',ccallparanode.create(temp_pnode^,nil));
|
||||
include(tcallnode(result).callnodeflags,cnf_check_fpu_exceptions);
|
||||
left := nil;
|
||||
temp_pnode^ := nil;
|
||||
end;
|
||||
|
||||
function tinlinenode.first_int_real : tnode;
|
||||
var
|
||||
temp_pnode: pnode;
|
||||
begin
|
||||
{ create the call to the helper }
|
||||
{ on entry left node contains the parameter }
|
||||
result := ccallnode.createintern('fpc_int_real',ccallparanode.create(left,nil));
|
||||
if left.nodetype = callparan then
|
||||
temp_pnode := @tcallparanode(left).left
|
||||
else
|
||||
temp_pnode := @left;
|
||||
result := ccallnode.createintern('fpc_int_real',ccallparanode.create(temp_pnode^,nil));
|
||||
include(tcallnode(result).callnodeflags,cnf_check_fpu_exceptions);
|
||||
left := nil;
|
||||
temp_pnode^ := nil;
|
||||
end;
|
||||
|
||||
function tinlinenode.first_frac_real : tnode;
|
||||
var
|
||||
temp_pnode: pnode;
|
||||
begin
|
||||
{ create the call to the helper }
|
||||
{ on entry left node contains the parameter }
|
||||
result := ccallnode.createintern('fpc_frac_real',ccallparanode.create(left,nil));
|
||||
if left.nodetype = callparan then
|
||||
temp_pnode := @tcallparanode(left).left
|
||||
else
|
||||
temp_pnode := @left;
|
||||
result := ccallnode.createintern('fpc_frac_real',ccallparanode.create(temp_pnode^,nil));
|
||||
include(tcallnode(result).callnodeflags,cnf_check_fpu_exceptions);
|
||||
left := nil;
|
||||
temp_pnode^ := nil;
|
||||
end;
|
||||
|
||||
function tinlinenode.first_round_real : tnode;
|
||||
var
|
||||
temp_pnode: pnode;
|
||||
begin
|
||||
{ create the call to the helper }
|
||||
{ on entry left node contains the parameter }
|
||||
result := ccallnode.createintern('fpc_round_real',ccallparanode.create(left,nil));
|
||||
if left.nodetype = callparan then
|
||||
temp_pnode := @tcallparanode(left).left
|
||||
else
|
||||
temp_pnode := @left;
|
||||
result := ccallnode.createintern('fpc_round_real',ccallparanode.create(temp_pnode^,nil));
|
||||
include(tcallnode(result).callnodeflags,cnf_check_fpu_exceptions);
|
||||
left := nil;
|
||||
temp_pnode^ := nil;
|
||||
end;
|
||||
|
||||
function tinlinenode.first_trunc_real : tnode;
|
||||
var
|
||||
temp_pnode: pnode;
|
||||
begin
|
||||
{ create the call to the helper }
|
||||
{ on entry left node contains the parameter }
|
||||
result := ccallnode.createintern('fpc_trunc_real',ccallparanode.create(left,nil));
|
||||
if left.nodetype = callparan then
|
||||
temp_pnode := @tcallparanode(left).left
|
||||
else
|
||||
temp_pnode := @left;
|
||||
result := ccallnode.createintern('fpc_trunc_real',ccallparanode.create(temp_pnode^,nil));
|
||||
include(tcallnode(result).callnodeflags,cnf_check_fpu_exceptions);
|
||||
left := nil;
|
||||
temp_pnode^ := nil;
|
||||
end;
|
||||
|
||||
function tinlinenode.first_abs_long : tnode;
|
||||
|
Loading…
Reference in New Issue
Block a user