mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-03 03:50:21 +02:00
* give an internalerror when calling cg.makeregsize() for a high level
target (explanation why in comments) git-svn-id: branches/hlcgllvm@28388 -
This commit is contained in:
parent
e8026ad8d3
commit
831cc96f48
@ -38,6 +38,7 @@ uses
|
|||||||
type
|
type
|
||||||
thlbasecgcpu = class(tcg)
|
thlbasecgcpu = class(tcg)
|
||||||
public
|
public
|
||||||
|
function makeregsize(list: TAsmList; reg: Tregister; size: Tcgsize): Tregister; override;
|
||||||
procedure g_save_registers(list:TAsmList);override;
|
procedure g_save_registers(list:TAsmList);override;
|
||||||
procedure g_restore_registers(list:TAsmList);override;
|
procedure g_restore_registers(list:TAsmList);override;
|
||||||
procedure g_stackpointer_alloc(list: TAsmList; size: longint); override;
|
procedure g_stackpointer_alloc(list: TAsmList; size: longint); override;
|
||||||
@ -208,6 +209,17 @@ implementation
|
|||||||
internalerror(2012042822);
|
internalerror(2012042822);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function thlbasecgcpu.makeregsize(list: TAsmList; reg: Tregister; size: Tcgsize): Tregister;
|
||||||
|
begin
|
||||||
|
{ you can't just change the size of a (virtual) register on high level
|
||||||
|
targets, you have to allocate a new register of the right size and
|
||||||
|
move the data there }
|
||||||
|
internalerror(2014081201);
|
||||||
|
{ suppress warning }
|
||||||
|
result:=NR_NO;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure thlbasecgcpu.g_save_registers(list: TAsmList);
|
procedure thlbasecgcpu.g_save_registers(list: TAsmList);
|
||||||
begin
|
begin
|
||||||
{ do nothing }
|
{ do nothing }
|
||||||
|
@ -106,7 +106,7 @@ unit cgobj;
|
|||||||
procedure do_register_allocation(list:TAsmList;headertai:tai);virtual;
|
procedure do_register_allocation(list:TAsmList;headertai:tai);virtual;
|
||||||
procedure translate_register(var reg : tregister);
|
procedure translate_register(var reg : tregister);
|
||||||
|
|
||||||
function makeregsize(list:TAsmList;reg:Tregister;size:Tcgsize):Tregister;
|
function makeregsize(list:TAsmList;reg:Tregister;size:Tcgsize):Tregister; virtual;
|
||||||
|
|
||||||
{# Emit a label to the instruction stream. }
|
{# Emit a label to the instruction stream. }
|
||||||
procedure a_label(list : TAsmList;l : tasmlabel);virtual;
|
procedure a_label(list : TAsmList;l : tasmlabel);virtual;
|
||||||
|
Loading…
Reference in New Issue
Block a user