* moved generic code from n386cal to ncgcal, i386 now also

uses the generic ncgcal
This commit is contained in:
peter 2003-04-04 15:38:56 +00:00
parent 3c5e8e2b07
commit 6a16389f67
5 changed files with 611 additions and 1789 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1938,6 +1938,14 @@ type
tcallparanode(left).insert_typeconv(tparaitem(procdefinition.Para.first),true);
end;
{ direct call to inherited abstract method, then we
can already give a error in the compiler instead
of a runtime error }
if assigned(methodpointer) and
(methodpointer.nodetype=typen) and
(po_abstractmethod in procdefinition.procoptions) then
CGMessage(cg_e_cant_call_abstract_method);
errorexit:
aktcallprocdef:=oldcallprocdef;
end;
@ -2399,7 +2407,11 @@ begin
end.
{
$Log$
Revision 1.131 2003-03-17 18:54:23 peter
Revision 1.132 2003-04-04 15:38:56 peter
* moved generic code from n386cal to ncgcal, i386 now also
uses the generic ncgcal
Revision 1.131 2003/03/17 18:54:23 peter
* fix missing self setting for method to procvar conversion in
tp_procvar mode

File diff suppressed because it is too large Load Diff

View File

@ -32,7 +32,7 @@ interface
type
tppccallnode = class(tcgcallnode)
function pass_1 : tnode;override;
procedure load_framepointer;override;
procedure push_framepointer;override;
end;
implementation
@ -71,7 +71,7 @@ implementation
end;
end;
procedure tppccallnode.load_framepointer;
procedure tppccallnode.push_framepointer;
begin
{
@ -111,7 +111,11 @@ begin
end.
{
$Log$
Revision 1.4 2002-12-05 14:28:12 florian
Revision 1.5 2003-04-04 15:38:56 peter
* moved generic code from n386cal to ncgcal, i386 now also
uses the generic ncgcal
Revision 1.4 2002/12/05 14:28:12 florian
* some variant <-> dyn. array stuff
Revision 1.3 2002/11/25 17:43:28 peter

View File

@ -31,7 +31,7 @@ type
which is part of the stardrad calling mechanism. This function will do nothing.
the frame pointer register is the stack pointer register of the caller, and is
set when generating function prologue in cgcpu.tcgSPARC.g_stackframe_entry}
procedure load_framepointer;override;
procedure push_framepointer;override;
end;
implementation
uses
@ -54,7 +54,7 @@ function TSparcCallNode.pass_1:TNode;
then
TSparcProcInfo(procinfo).maxpushedparasize:=datasize;
end;
procedure TSparcCallNode.load_framepointer;
procedure TSparcCallNode.push_framepointer;
begin
InternalError(2002101000);
end;
@ -63,7 +63,11 @@ begin
end.
{
$Log$
Revision 1.8 2003-02-05 22:44:55 mazen
Revision 1.9 2003-04-04 15:38:56 peter
* moved generic code from n386cal to ncgcal, i386 now also
uses the generic ncgcal
Revision 1.8 2003/02/05 22:44:55 mazen
* making UNIT lower case.
Revision 1.7 2003/02/04 21:50:54 mazen