mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-02-04 06:14:50 +01:00
+ Add loading of softfpu in emulation mode
+ Correct routine call for softfpu * Extended type must also be defined even with softfpu
This commit is contained in:
parent
f8d831d6ce
commit
edb20100ac
@ -1539,28 +1539,27 @@ implementation
|
||||
if not (cs_fp_emulation in aktmoduleswitches) then
|
||||
exit;
|
||||
|
||||
procname := 'FPC_REAL_';
|
||||
case nodetype of
|
||||
addn : procname := procname + 'ADD';
|
||||
muln : procname := procname + 'MUL';
|
||||
subn : procname := procname + 'SUB';
|
||||
slashn : procname := procname + 'DIV';
|
||||
ltn : procname := procname + 'LESS_THAN';
|
||||
lten: procname := procname + 'LESS_EQUAL_THAN';
|
||||
addn : procname := 'float32_add';
|
||||
muln : procname := 'float32_mul';
|
||||
subn : procname := 'float32_sub';
|
||||
slashn : procname := 'float32_div';
|
||||
ltn : procname := 'float32_lt';
|
||||
lten: procname := 'float32_le';
|
||||
gtn:
|
||||
begin
|
||||
procname := procname + 'LESS_EQUAL_THAN';
|
||||
procname := 'float32_le';
|
||||
notnode := true;
|
||||
end;
|
||||
gten:
|
||||
begin
|
||||
procname := procname + 'LESS_THAN';
|
||||
procname := 'float32_lt';
|
||||
notnode := true;
|
||||
end;
|
||||
equaln: procname := procname + 'EQUAL';
|
||||
equaln: procname := 'float32_eq';
|
||||
unequaln :
|
||||
begin
|
||||
procname := procname + 'EQUAL';
|
||||
procname := 'float32_eq';
|
||||
notnode := true;
|
||||
end;
|
||||
else
|
||||
@ -1915,7 +1914,12 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.75 2002-11-27 13:11:38 peter
|
||||
Revision 1.76 2002-11-30 21:32:24 carl
|
||||
+ Add loading of softfpu in emulation mode
|
||||
+ Correct routine call for softfpu
|
||||
* Extended type must also be defined even with softfpu
|
||||
|
||||
Revision 1.75 2002/11/27 13:11:38 peter
|
||||
* more currency fixes, taddcurr runs now successfull
|
||||
|
||||
Revision 1.74 2002/11/27 11:28:40 peter
|
||||
|
||||
@ -441,6 +441,18 @@ implementation
|
||||
make_ref:=false;
|
||||
readconstdefs;
|
||||
make_ref:=true;
|
||||
{ Floating point emulation unit? }
|
||||
if (cs_fp_emulation in aktmoduleswitches) then
|
||||
begin
|
||||
hp:=loadunit('softfpu','');
|
||||
tsymtable(hp.globalsymtable).next:=symtablestack;
|
||||
symtablestack:=hp.globalsymtable;
|
||||
{ add to the used units }
|
||||
current_module.used_units.concat(tused_unit.create(hp,true));
|
||||
unitsym:=tunitsym.create('Softfpu',hp.globalsymtable);
|
||||
inc(unitsym.refs);
|
||||
refsymtable.insert(unitsym);
|
||||
end;
|
||||
{ Thread support unit? }
|
||||
if (cs_threading in aktmoduleswitches) then
|
||||
begin
|
||||
@ -1441,7 +1453,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.84 2002-11-15 01:58:53 peter
|
||||
Revision 1.85 2002-11-30 21:32:24 carl
|
||||
+ Add loading of softfpu in emulation mode
|
||||
+ Correct routine call for softfpu
|
||||
* Extended type must also be defined even with softfpu
|
||||
|
||||
Revision 1.84 2002/11/15 01:58:53 peter
|
||||
* merged changes from 1.0.7 up to 04-11
|
||||
- -V option for generating bug report tracing
|
||||
- more tracing for option parsing
|
||||
|
||||
@ -132,6 +132,8 @@ implementation
|
||||
{ extended size is the best real type for the target }
|
||||
addtype('Real',s32floattype);
|
||||
pbestrealtype:=@s32floattype;
|
||||
{ extended size is the best real type for the target }
|
||||
addtype('Extended',pbestrealtype^);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -475,7 +477,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.42 2002-10-05 12:43:27 carl
|
||||
Revision 1.43 2002-11-30 21:32:26 carl
|
||||
+ Add loading of softfpu in emulation mode
|
||||
+ Correct routine call for softfpu
|
||||
* Extended type must also be defined even with softfpu
|
||||
|
||||
Revision 1.42 2002/10/05 12:43:27 carl
|
||||
* fixes for Delphi 6 compilation
|
||||
(warning : Some features do not work under Delphi)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user