mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-17 13:39:36 +02:00
Change .thumb_func to be an ait_directive instead of it's own tai type.
git-svn-id: branches/laksen/armiw@29334 -
This commit is contained in:
parent
9683102813
commit
6976af8365
@ -80,7 +80,6 @@ interface
|
||||
ait_labeled_instruction,
|
||||
{$endif m68k}
|
||||
{$ifdef arm}
|
||||
ait_thumb_func,
|
||||
ait_thumb_set,
|
||||
{$endif arm}
|
||||
ait_set,
|
||||
@ -198,7 +197,6 @@ interface
|
||||
'labeled_instr',
|
||||
{$endif m68k}
|
||||
{$ifdef arm}
|
||||
'thumb_func',
|
||||
'thumb_set',
|
||||
{$endif arm}
|
||||
'set',
|
||||
@ -310,7 +308,6 @@ interface
|
||||
ait_cutobject,ait_marker,ait_varloc,ait_align,ait_section,ait_comment,
|
||||
ait_const,ait_directive,
|
||||
{$ifdef arm}
|
||||
ait_thumb_func,
|
||||
ait_thumb_set,
|
||||
{$endif arm}
|
||||
ait_set,ait_weak,
|
||||
@ -356,7 +353,9 @@ interface
|
||||
{ for Jasmin }
|
||||
asd_jclass,asd_jinterface,asd_jsuper,asd_jfield,asd_jlimit,asd_jline,
|
||||
{ .ent/.end for MIPS and Alpha }
|
||||
asd_ent,asd_ent_end
|
||||
asd_ent,asd_ent_end,
|
||||
{ .thumb_func for ARM }
|
||||
asd_thumb_func
|
||||
);
|
||||
|
||||
TAsmSehDirective=(
|
||||
@ -385,7 +384,9 @@ interface
|
||||
{ for Jasmin }
|
||||
'class','interface','super','field','limit','line',
|
||||
{ .ent/.end for MIPS and Alpha }
|
||||
'ent','end'
|
||||
'ent','end',
|
||||
{ .thumb_func for ARM }
|
||||
'thumb_func'
|
||||
);
|
||||
sehdirectivestr : array[TAsmSehDirective] of string[16]=(
|
||||
'.seh_proc','.seh_endproc',
|
||||
|
@ -1350,10 +1350,6 @@ implementation
|
||||
AsmWriteLn(tai_symbol(hp).sym.name + '=' + tostr(tai_symbol(hp).value));
|
||||
end;
|
||||
{$ifdef arm}
|
||||
ait_thumb_func:
|
||||
begin
|
||||
AsmWriteLn(#9'.thumb_func');
|
||||
end;
|
||||
ait_thumb_set:
|
||||
begin
|
||||
AsmWriteLn(#9'.thumb_set '+tai_thumb_set(hp).sym^+', '+tai_thumb_set(hp).value^);
|
||||
|
@ -282,10 +282,6 @@ uses
|
||||
{ nothing to add }
|
||||
end;
|
||||
|
||||
tai_thumb_func = class(tai)
|
||||
constructor create;
|
||||
end;
|
||||
|
||||
function spilling_create_load(const ref:treference;r:tregister):Taicpu;
|
||||
function spilling_create_store(r:tregister; const ref:treference):Taicpu;
|
||||
|
||||
@ -4778,13 +4774,6 @@ implementation
|
||||
objdata.writebytes(bytes,bytelen);
|
||||
end;
|
||||
|
||||
|
||||
constructor tai_thumb_func.create;
|
||||
begin
|
||||
inherited create;
|
||||
typ:=ait_thumb_func;
|
||||
end;
|
||||
|
||||
begin
|
||||
cai_align:=tai_align;
|
||||
end.
|
||||
|
@ -3244,7 +3244,7 @@ unit cgcpu;
|
||||
Internalerror(200109191);
|
||||
|
||||
if GenerateThumbCode or GenerateThumb2Code then
|
||||
list.concat(tai_thumb_func.create);
|
||||
list.concat(tai_directive.Create(asd_thumb_func,''));
|
||||
|
||||
make_global:=false;
|
||||
if (not current_module.is_unit) or
|
||||
|
@ -1214,6 +1214,9 @@ Implementation
|
||||
asd_reference:
|
||||
{ ignore for now, but should be added}
|
||||
;
|
||||
asd_thumb_func:
|
||||
{ ignore for now, but should be added}
|
||||
;
|
||||
else
|
||||
internalerror(2010011101);
|
||||
end;
|
||||
@ -1358,6 +1361,9 @@ Implementation
|
||||
asd_reference:
|
||||
{ ignore for now, but should be added}
|
||||
;
|
||||
asd_thumb_func:
|
||||
{ ignore for now, but should be added}
|
||||
;
|
||||
else
|
||||
internalerror(2010011102);
|
||||
end;
|
||||
|
@ -4136,7 +4136,7 @@ implementation
|
||||
begin
|
||||
{$ifdef arm}
|
||||
if GenerateThumbCode or GenerateThumb2Code then
|
||||
list.concat(tai_thumb_func.create);
|
||||
list.concat(tai_directive.create(asd_thumb_func,''));
|
||||
{$endif arm}
|
||||
{ "double link" all procedure entry symbols via .reference }
|
||||
{ directives on darwin, because otherwise the linker }
|
||||
|
@ -734,7 +734,6 @@ implementation
|
||||
// aiclass[ait_labeled_instruction]:=tai_labeled_instruction;
|
||||
{$endif SPARC}
|
||||
{$ifdef arm}
|
||||
aiclass[ait_thumb_func]:=tai_thumb_func;
|
||||
aiclass[ait_thumb_set]:=tai_thumb_set;
|
||||
{$endif arm}
|
||||
aiclass[ait_set]:=tai_set;
|
||||
|
Loading…
Reference in New Issue
Block a user