From f92fba996dfa329f5c2d7e3d5ed7211899d07b98 Mon Sep 17 00:00:00 2001 From: pierre Date: Wed, 4 Jul 2012 16:32:20 +0000 Subject: [PATCH] + New tai_ent and tai_ent_end classes git-svn-id: trunk@21779 - --- compiler/aasmtai.pas | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/compiler/aasmtai.pas b/compiler/aasmtai.pas index 2b8e9ce15d..fee6ce2766 100644 --- a/compiler/aasmtai.pas +++ b/compiler/aasmtai.pas @@ -68,10 +68,13 @@ interface ait_stab, ait_force_line, ait_function_name, + { Used for .ent .end pair used for .dpr section in MIPS + and probably also for Alpha } + ait_ent, + ait_ent_end, {$ifdef alpha} { the follow is for the DEC Alpha } ait_frame, - ait_ent, {$endif alpha} {$ifdef ia64} ait_bundle, @@ -163,10 +166,11 @@ interface 'stab', 'force_line', 'function_name', + 'ent', + 'ent_end', {$ifdef alpha} { the follow is for the DEC Alpha } 'frame', - 'ent', {$endif alpha} {$ifdef ia64} 'bundle', @@ -261,7 +265,8 @@ interface a new ait type! } SkipInstr = [ait_comment, ait_symbol,ait_section ,ait_stab, ait_function_name, ait_force_line - ,ait_regalloc, ait_tempalloc, ait_symbol_end, ait_directive + ,ait_regalloc, ait_tempalloc, ait_symbol_end + ,ait_ent, ait_ent_end, ait_directive ,ait_varloc,ait_seh_directive ,ait_jvar, ait_jcatch]; @@ -272,6 +277,7 @@ interface ait_stab,ait_function_name, ait_cutobject,ait_marker,ait_varloc,ait_align,ait_section,ait_comment, ait_const,ait_directive, + ait_ent, ait_ent_end, {$ifdef arm} ait_thumb_func, {$endif arm} @@ -420,6 +426,16 @@ interface procedure derefimpl;override; end; + tai_ent = class(tai) + Name : string; + Constructor Create (const ProcName : String); + end; + + tai_ent_end = class(tai) + Name : string; + Constructor Create (const ProcName : String); + end; + tai_directive = class(tailineinfo) name : ansistring; directive : TAsmDirective; @@ -1246,6 +1262,26 @@ implementation ppufile.putbyte(byte(directive)); end; +{**************************************************************************** + TAI_ENT / TAI_ENT_END + ****************************************************************************} + + Constructor tai_ent.Create (const ProcName : String); + + begin + Inherited Create; + Name:=ProcName; + typ:=ait_ent; + end; + + Constructor tai_ent_end.Create (const ProcName : String); + + begin + Inherited Create; + Name:=ProcName; + typ:=ait_ent_end; + end; + {**************************************************************************** TAI_CONST