* fixing run time errors related to unimplemented abstract methods in CG

+ giving empty emplementations for some RTL functions
This commit is contained in:
mazen 2003-02-05 21:48:34 +00:00
parent c430df4732
commit 92f035d47f
3 changed files with 60 additions and 4 deletions

View File

@ -80,6 +80,7 @@ specific processor ABI. It is overriden for each CPU target.
procedure g_stackframe_entry(list:TAasmOutput;localsize:LongInt);override;
procedure g_restore_all_registers(list:TAasmOutput;selfused,accused,acchiused:boolean);override;
procedure g_restore_frame_pointer(list:TAasmOutput);override;
procedure g_restore_standard_registers(list:taasmoutput;usedinproc:tregisterset);override;
procedure g_return_from_proc(list:TAasmOutput;parasize:aword);override;
procedure g_save_all_registers(list : taasmoutput);override;
procedure g_save_standard_registers(list : taasmoutput; usedinproc : tregisterset);override;
@ -964,6 +965,10 @@ procedure TCgSparc.g_restore_frame_pointer(list:TAasmOutput);
{This function intontionally does nothing as frame pointer is restored in the
delay slot of the return instrucion done in g_return_from_proc}
end;
procedure TCgSparc.g_restore_standard_registers(list:taasmoutput;usedinproc:tregisterset);
begin
{$WARNING FIX ME TCgSparc.g_restore_standard_registers}
end;
procedure TCgSparc.g_return_from_proc(list:TAasmOutput;parasize:aword);
var r,r2:Tregister;
@ -1410,7 +1415,11 @@ BEGIN
END.
{
$Log$
Revision 1.36 2003-01-22 22:30:03 mazen
Revision 1.37 2003-02-05 21:48:34 mazen
* fixing run time errors related to unimplemented abstract methods in CG
+ giving empty emplementations for some RTL functions
Revision 1.36 2003/01/22 22:30:03 mazen
- internal errors rmoved from a_loar_reg_reg when reg sizes differs from 32
Revision 1.35 2003/01/20 22:21:36 mazen

View File

@ -137,6 +137,14 @@ Procedure Rewrite(var f : TypedFile); [INTERNPROC: In_Rewrite_TypedFile];
{$define SYSPROCDEFINED}
{$endif iA64}
{$ifdef SPARC}
{$ifdef SYSPROCDEFINED}
{$Error Can't determine processor type !}
{$endif}
{$define ENDIAN_BIG}
{$i sparc.inc} { Case dependent, don't change }
{$define SYSPROCDEFINED}
{$endif SPARC}
procedure fillchar(var x;count : longint;value : boolean);{$ifdef SYSTEMINLINE}inline;{$endif}
begin
@ -757,7 +765,11 @@ end;
{
$Log$
Revision 1.38 2002-12-07 14:36:33 carl
Revision 1.39 2003-02-05 21:48:34 mazen
* fixing run time errors related to unimplemented abstract methods in CG
+ giving empty emplementations for some RTL functions
Revision 1.38 2002/12/07 14:36:33 carl
- avoid warnings (add typecast)
Revision 1.37 2002/11/18 18:33:51 peter

View File

@ -1,5 +1,40 @@
{$define FPC_SYSTEM_HAS_GET_FRAME}
function get_frame:longint;{assembler;}
begin{asm}
{$warning FIX ME!}
// !!!!!!! depends on ABI !!!!!!!!
end;
{$define FPC_SYSTEM_HAS_GET_CALLER_ADDR}
function get_caller_addr(framebp:longint):longint;{assembler;}
begin{asm}
{$warning FIX ME!}
// !!!!!!! depends on ABI !!!!!!!!
end;
{$define FPC_SYSTEM_HAS_GET_CALLER_FRAME}
function get_caller_frame(framebp:longint):longint;{assembler;}
begin{asm}
{$warning FIX ME!}
// !!!!!!! depends on ABI !!!!!!!!
end;
{$define FPC_SYSTEM_HAS_SPTR}
function Sptr:Longint;{assembler;}
begin{asm}
{$warning FIX ME!}
end;
{$define FPC_SYSTEM_HAS_FPC_HELP_FAIL_CLASS}
function fpc_help_fail_class(_vmt:pointer;_self:pointer):pointer;{assembler;}[public,alias:'FPC_HELP_FAIL_CLASS']; {$ifdef hascompilerproc} compilerproc; {$endif}
{ a non zero class must allways be disposed
VMT is allways at pos 0 }
begin{asm}
{$warning FIX ME!}
// !!!!!!!!!!!
end;
{
$Log$
Revision 1.1 2002-11-16 20:10:31 florian
Revision 1.2 2003-02-05 21:48:34 mazen
* fixing run time errors related to unimplemented abstract methods in CG
+ giving empty emplementations for some RTL functions
Revision 1.1 2002/11/16 20:10:31 florian
+ sparc specific rtl skeleton added
}
}