mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-05 20:10:02 +01:00
* fixing run time errors related to unimplemented abstract methods in CG
+ giving empty emplementations for some RTL functions
This commit is contained in:
parent
c430df4732
commit
92f035d47f
@ -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_stackframe_entry(list:TAasmOutput;localsize:LongInt);override;
|
||||||
procedure g_restore_all_registers(list:TAasmOutput;selfused,accused,acchiused:boolean);override;
|
procedure g_restore_all_registers(list:TAasmOutput;selfused,accused,acchiused:boolean);override;
|
||||||
procedure g_restore_frame_pointer(list:TAasmOutput);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_return_from_proc(list:TAasmOutput;parasize:aword);override;
|
||||||
procedure g_save_all_registers(list : taasmoutput);override;
|
procedure g_save_all_registers(list : taasmoutput);override;
|
||||||
procedure g_save_standard_registers(list : taasmoutput; usedinproc : tregisterset);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
|
{This function intontionally does nothing as frame pointer is restored in the
|
||||||
delay slot of the return instrucion done in g_return_from_proc}
|
delay slot of the return instrucion done in g_return_from_proc}
|
||||||
end;
|
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);
|
procedure TCgSparc.g_return_from_proc(list:TAasmOutput;parasize:aword);
|
||||||
|
|
||||||
var r,r2:Tregister;
|
var r,r2:Tregister;
|
||||||
@ -1410,7 +1415,11 @@ BEGIN
|
|||||||
END.
|
END.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
- internal errors rmoved from a_loar_reg_reg when reg sizes differs from 32
|
||||||
|
|
||||||
Revision 1.35 2003/01/20 22:21:36 mazen
|
Revision 1.35 2003/01/20 22:21:36 mazen
|
||||||
|
|||||||
@ -137,6 +137,14 @@ Procedure Rewrite(var f : TypedFile); [INTERNPROC: In_Rewrite_TypedFile];
|
|||||||
{$define SYSPROCDEFINED}
|
{$define SYSPROCDEFINED}
|
||||||
{$endif iA64}
|
{$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}
|
procedure fillchar(var x;count : longint;value : boolean);{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||||
begin
|
begin
|
||||||
@ -757,7 +765,11 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$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)
|
- avoid warnings (add typecast)
|
||||||
|
|
||||||
Revision 1.37 2002/11/18 18:33:51 peter
|
Revision 1.37 2002/11/18 18:33:51 peter
|
||||||
|
|||||||
@ -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$
|
$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
|
+ sparc specific rtl skeleton added
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user