mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-03 14:57:36 +01:00
+ introduced tabstractprocdef.ofs_address_type - the address type, generated for
ofs() git-svn-id: trunk@38681 -
This commit is contained in:
parent
6929af07b7
commit
c7503ca291
@ -112,6 +112,7 @@ type
|
|||||||
constructor create(level:byte);override;
|
constructor create(level:byte);override;
|
||||||
function getcopyas(newtyp:tdeftyp;copytyp:tproccopytyp):tstoreddef;override;
|
function getcopyas(newtyp:tdeftyp;copytyp:tproccopytyp):tstoreddef;override;
|
||||||
function address_type:tdef;override;
|
function address_type:tdef;override;
|
||||||
|
function ofs_address_type:tdef;override;
|
||||||
function size:asizeint;override;
|
function size:asizeint;override;
|
||||||
procedure declared_far;override;
|
procedure declared_far;override;
|
||||||
procedure declared_near;override;
|
procedure declared_near;override;
|
||||||
@ -133,6 +134,7 @@ type
|
|||||||
constructor create(level:byte;doregister:boolean);override;
|
constructor create(level:byte;doregister:boolean);override;
|
||||||
function getcopyas(newtyp:tdeftyp;copytyp:tproccopytyp):tstoreddef;override;
|
function getcopyas(newtyp:tdeftyp;copytyp:tproccopytyp):tstoreddef;override;
|
||||||
function address_type:tdef;override;
|
function address_type:tdef;override;
|
||||||
|
function ofs_address_type:tdef;override;
|
||||||
function size:asizeint;override;
|
function size:asizeint;override;
|
||||||
procedure declared_far;override;
|
procedure declared_far;override;
|
||||||
procedure declared_near;override;
|
procedure declared_near;override;
|
||||||
@ -350,6 +352,12 @@ implementation
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function tcpuprocdef.ofs_address_type:tdef;
|
||||||
|
begin
|
||||||
|
result:=voidnearpointertype;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
function tcpuprocdef.size: asizeint;
|
function tcpuprocdef.size: asizeint;
|
||||||
begin
|
begin
|
||||||
result:=address_type.size;
|
result:=address_type.size;
|
||||||
@ -438,6 +446,12 @@ implementation
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function tcpuprocvardef.ofs_address_type:tdef;
|
||||||
|
begin
|
||||||
|
result:=voidnearpointertype;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
function tcpuprocvardef.size:asizeint;
|
function tcpuprocvardef.size:asizeint;
|
||||||
begin
|
begin
|
||||||
if is_addressonly then
|
if is_addressonly then
|
||||||
|
|||||||
@ -634,6 +634,8 @@ interface
|
|||||||
function stack_tainting_parameter(side: tcallercallee): boolean;
|
function stack_tainting_parameter(side: tcallercallee): boolean;
|
||||||
function is_pushleftright: boolean;virtual;
|
function is_pushleftright: boolean;virtual;
|
||||||
function address_type:tdef;virtual;
|
function address_type:tdef;virtual;
|
||||||
|
{ address type, generated for ofs() }
|
||||||
|
function ofs_address_type:tdef;virtual;
|
||||||
procedure declared_far;virtual;
|
procedure declared_far;virtual;
|
||||||
procedure declared_near;virtual;
|
procedure declared_near;virtual;
|
||||||
private
|
private
|
||||||
@ -5222,6 +5224,12 @@ implementation
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function tabstractprocdef.ofs_address_type:tdef;
|
||||||
|
begin
|
||||||
|
result:=address_type;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure tabstractprocdef.declared_far;
|
procedure tabstractprocdef.declared_far;
|
||||||
begin
|
begin
|
||||||
Message1(parser_w_proc_directive_ignored,'FAR');
|
Message1(parser_w_proc_directive_ignored,'FAR');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user