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:
Jeppe Johansen 2014-12-26 23:13:14 +00:00
parent 9683102813
commit 6976af8365
7 changed files with 14 additions and 23 deletions

View File

@ -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',

View File

@ -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^);

View File

@ -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.

View File

@ -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

View File

@ -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;

View File

@ -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 }

View File

@ -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;