mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 13:29: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
|
begin
|
||||||
if init_settings.fputype<>fpu_none then
|
if init_settings.fputype<>fpu_none then
|
||||||
begin
|
begin
|
||||||
s32floattype:=cfloatdef.create(s32real);
|
s32floattype:=cfloatdef.create(s32real,true);
|
||||||
s64floattype:=cfloatdef.create(s64real);
|
s64floattype:=cfloatdef.create(s64real,true);
|
||||||
s80floattype:=cfloatdef.create(s80real);
|
s80floattype:=cfloatdef.create(s80real,true);
|
||||||
sc80floattype:=cfloatdef.create(sc80real);
|
sc80floattype:=cfloatdef.create(sc80real,true);
|
||||||
end else begin
|
end else begin
|
||||||
s32floattype:=nil;
|
s32floattype:=nil;
|
||||||
s64floattype:=nil;
|
s64floattype:=nil;
|
||||||
@ -246,7 +246,7 @@ implementation
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
{$endif FPC_SUPPORT_X87_TYPES_ON_WIN64}
|
{$endif FPC_SUPPORT_X87_TYPES_ON_WIN64}
|
||||||
s64currencytype:=cfloatdef.create(s64currency);
|
s64currencytype:=cfloatdef.create(s64currency,true);
|
||||||
{$endif x86}
|
{$endif x86}
|
||||||
{$ifdef powerpc}
|
{$ifdef powerpc}
|
||||||
create_fpu_types;
|
create_fpu_types;
|
||||||
@ -273,10 +273,10 @@ implementation
|
|||||||
s64currencytype:=corddef.create(scurrency,low(int64),high(int64),true);
|
s64currencytype:=corddef.create(scurrency,low(int64),high(int64),true);
|
||||||
{$endif aarch64}
|
{$endif aarch64}
|
||||||
{$ifdef avr}
|
{$ifdef avr}
|
||||||
s32floattype:=cfloatdef.create(s32real);
|
s32floattype:=cfloatdef.create(s32real,true);
|
||||||
s64floattype:=cfloatdef.create(s64real);
|
s64floattype:=cfloatdef.create(s64real,true);
|
||||||
s80floattype:=cfloatdef.create(s80real);
|
s80floattype:=cfloatdef.create(s80real,true);
|
||||||
sc80floattype:=cfloatdef.create(sc80real);
|
sc80floattype:=cfloatdef.create(sc80real,true);
|
||||||
s64currencytype:=corddef.create(scurrency,low(int64),high(int64),true);
|
s64currencytype:=corddef.create(scurrency,low(int64),high(int64),true);
|
||||||
{$endif avr}
|
{$endif avr}
|
||||||
{$ifdef mips}
|
{$ifdef mips}
|
||||||
@ -359,7 +359,7 @@ implementation
|
|||||||
{$ifndef FPC_SUPPORT_X87_TYPES_ON_WIN64}
|
{$ifndef FPC_SUPPORT_X87_TYPES_ON_WIN64}
|
||||||
if target_info.system<>system_x86_64_win64 then
|
if target_info.system<>system_x86_64_win64 then
|
||||||
{$endif FPC_SUPPORT_X87_TYPES_ON_WIN64}
|
{$endif FPC_SUPPORT_X87_TYPES_ON_WIN64}
|
||||||
addtype('Comp',cfloatdef.create(s64comp));
|
addtype('Comp',cfloatdef.create(s64comp,true));
|
||||||
{$endif x86}
|
{$endif x86}
|
||||||
addtype('Currency',s64currencytype);
|
addtype('Currency',s64currencytype);
|
||||||
addtype('Pointer',voidpointertype);
|
addtype('Pointer',voidpointertype);
|
||||||
|
@ -923,7 +923,7 @@ type
|
|||||||
booldef:=torddef.create(pasbool8,0,1,false);
|
booldef:=torddef.create(pasbool8,0,1,false);
|
||||||
strdef:=tstringdef.createansi(0,false);
|
strdef:=tstringdef.createansi(0,false);
|
||||||
setdef:=tsetdef.create(sintdef,0,255,false);
|
setdef:=tsetdef.create(sintdef,0,255,false);
|
||||||
realdef:=tfloatdef.create(s80real);
|
realdef:=tfloatdef.create(s80real,false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class destructor texprvalue.destroydefs;
|
class destructor texprvalue.destroydefs;
|
||||||
|
@ -535,7 +535,7 @@ interface
|
|||||||
|
|
||||||
tfloatdef = class(tstoreddef)
|
tfloatdef = class(tstoreddef)
|
||||||
floattype : tfloattype;
|
floattype : tfloattype;
|
||||||
constructor create(t : tfloattype);virtual;
|
constructor create(t: tfloattype; doregister: boolean);virtual;
|
||||||
constructor ppuload(ppufile:tcompilerppufile);
|
constructor ppuload(ppufile:tcompilerppufile);
|
||||||
function getcopy : tstoreddef;override;
|
function getcopy : tstoreddef;override;
|
||||||
{ do not override this routine in platform-specific subclasses,
|
{ do not override this routine in platform-specific subclasses,
|
||||||
@ -2777,9 +2777,9 @@ implementation
|
|||||||
TFLOATDEF
|
TFLOATDEF
|
||||||
****************************************************************************}
|
****************************************************************************}
|
||||||
|
|
||||||
constructor tfloatdef.create(t : tfloattype);
|
constructor tfloatdef.create(t: tfloattype; doregister: boolean);
|
||||||
begin
|
begin
|
||||||
inherited create(floatdef,true);
|
inherited create(floatdef,doregister);
|
||||||
floattype:=t;
|
floattype:=t;
|
||||||
setsize;
|
setsize;
|
||||||
end;
|
end;
|
||||||
@ -2796,7 +2796,7 @@ implementation
|
|||||||
|
|
||||||
function tfloatdef.getcopy : tstoreddef;
|
function tfloatdef.getcopy : tstoreddef;
|
||||||
begin
|
begin
|
||||||
result:=cfloatdef.create(floattype);
|
result:=cfloatdef.create(floattype,true);
|
||||||
result.typ:=floatdef;
|
result.typ:=floatdef;
|
||||||
tfloatdef(result).savesize:=savesize;
|
tfloatdef(result).savesize:=savesize;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user