mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 09:06:14 +02:00
* add "doregister" parameter to tfloatdef.create, and don't register temporary
defs created in the scanner for evaluating compile time expressions git-svn-id: trunk@32049 -
This commit is contained in:
parent
b22e2ef400
commit
cebcf0afa8
@ -186,10 +186,10 @@ implementation
|
||||
begin
|
||||
if init_settings.fputype<>fpu_none then
|
||||
begin
|
||||
s32floattype:=cfloatdef.create(s32real);
|
||||
s64floattype:=cfloatdef.create(s64real);
|
||||
s80floattype:=cfloatdef.create(s80real);
|
||||
sc80floattype:=cfloatdef.create(sc80real);
|
||||
s32floattype:=cfloatdef.create(s32real,true);
|
||||
s64floattype:=cfloatdef.create(s64real,true);
|
||||
s80floattype:=cfloatdef.create(s80real,true);
|
||||
sc80floattype:=cfloatdef.create(sc80real,true);
|
||||
end else begin
|
||||
s32floattype:=nil;
|
||||
s64floattype:=nil;
|
||||
@ -246,7 +246,7 @@ implementation
|
||||
end
|
||||
else
|
||||
{$endif FPC_SUPPORT_X87_TYPES_ON_WIN64}
|
||||
s64currencytype:=cfloatdef.create(s64currency);
|
||||
s64currencytype:=cfloatdef.create(s64currency,true);
|
||||
{$endif x86}
|
||||
{$ifdef powerpc}
|
||||
create_fpu_types;
|
||||
@ -273,10 +273,10 @@ implementation
|
||||
s64currencytype:=corddef.create(scurrency,low(int64),high(int64),true);
|
||||
{$endif aarch64}
|
||||
{$ifdef avr}
|
||||
s32floattype:=cfloatdef.create(s32real);
|
||||
s64floattype:=cfloatdef.create(s64real);
|
||||
s80floattype:=cfloatdef.create(s80real);
|
||||
sc80floattype:=cfloatdef.create(sc80real);
|
||||
s32floattype:=cfloatdef.create(s32real,true);
|
||||
s64floattype:=cfloatdef.create(s64real,true);
|
||||
s80floattype:=cfloatdef.create(s80real,true);
|
||||
sc80floattype:=cfloatdef.create(sc80real,true);
|
||||
s64currencytype:=corddef.create(scurrency,low(int64),high(int64),true);
|
||||
{$endif avr}
|
||||
{$ifdef mips}
|
||||
@ -359,7 +359,7 @@ implementation
|
||||
{$ifndef FPC_SUPPORT_X87_TYPES_ON_WIN64}
|
||||
if target_info.system<>system_x86_64_win64 then
|
||||
{$endif FPC_SUPPORT_X87_TYPES_ON_WIN64}
|
||||
addtype('Comp',cfloatdef.create(s64comp));
|
||||
addtype('Comp',cfloatdef.create(s64comp,true));
|
||||
{$endif x86}
|
||||
addtype('Currency',s64currencytype);
|
||||
addtype('Pointer',voidpointertype);
|
||||
|
@ -923,7 +923,7 @@ type
|
||||
booldef:=torddef.create(pasbool8,0,1,false);
|
||||
strdef:=tstringdef.createansi(0,false);
|
||||
setdef:=tsetdef.create(sintdef,0,255,false);
|
||||
realdef:=tfloatdef.create(s80real);
|
||||
realdef:=tfloatdef.create(s80real,false);
|
||||
end;
|
||||
|
||||
class destructor texprvalue.destroydefs;
|
||||
|
@ -535,7 +535,7 @@ interface
|
||||
|
||||
tfloatdef = class(tstoreddef)
|
||||
floattype : tfloattype;
|
||||
constructor create(t : tfloattype);virtual;
|
||||
constructor create(t: tfloattype; doregister: boolean);virtual;
|
||||
constructor ppuload(ppufile:tcompilerppufile);
|
||||
function getcopy : tstoreddef;override;
|
||||
{ do not override this routine in platform-specific subclasses,
|
||||
@ -2777,9 +2777,9 @@ implementation
|
||||
TFLOATDEF
|
||||
****************************************************************************}
|
||||
|
||||
constructor tfloatdef.create(t : tfloattype);
|
||||
constructor tfloatdef.create(t: tfloattype; doregister: boolean);
|
||||
begin
|
||||
inherited create(floatdef,true);
|
||||
inherited create(floatdef,doregister);
|
||||
floattype:=t;
|
||||
setsize;
|
||||
end;
|
||||
@ -2796,7 +2796,7 @@ implementation
|
||||
|
||||
function tfloatdef.getcopy : tstoreddef;
|
||||
begin
|
||||
result:=cfloatdef.create(floattype);
|
||||
result:=cfloatdef.create(floattype,true);
|
||||
result.typ:=floatdef;
|
||||
tfloatdef(result).savesize:=savesize;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user