* some 64 bit adaptions in ncgadd

* x86-64 now uses ncgadd
  * tparamanager.ret_in_acc doesn't return true anymore for a void-def
This commit is contained in:
florian 2003-04-30 22:15:59 +00:00
parent a79edeb568
commit 72df326165
4 changed files with 36 additions and 8 deletions

View File

@ -66,7 +66,13 @@ interface
aasmbase,aasmtai,aasmcpu,defutil,htypechk,
cgbase,cpuinfo,pass_1,pass_2,regvars,
cpupara,
ncon,nset,ncgutil,tgobj,rgobj,rgcpu,cgobj,cg64f32;
ncon,nset,ncgutil,tgobj,rgobj,rgcpu,cgobj,
{$ifdef cpu64bit}
cg64f64
{$else cpu64bit}
cg64f32
{$endif cpu64bit}
;
@ -816,7 +822,12 @@ begin
end.
{
$Log$
Revision 1.8 2003-04-23 20:16:04 peter
Revision 1.9 2003-04-30 22:15:59 florian
* some 64 bit adaptions in ncgadd
* x86-64 now uses ncgadd
* tparamanager.ret_in_acc doesn't return true anymore for a void-def
Revision 1.8 2003/04/23 20:16:04 peter
+ added currency support based on int64
+ is_64bit for use in cg units instead of is_64bitint
* removed cgmessage from n386add, replace with internalerrors

View File

@ -118,7 +118,8 @@ unit paramgr;
{ true if the return value is in accumulator (EAX for i386), D0 for 68k }
function tparamanager.ret_in_acc(def : tdef;calloption : tproccalloption) : boolean;
begin
ret_in_acc:=(def.deftype in [orddef,pointerdef,enumdef,classrefdef]) or
ret_in_acc:=(def.deftype in [pointerdef,enumdef,classrefdef]) or
((def.deftype=orddef) and (torddef(def).typ<>uvoid)) or
((def.deftype=stringdef) and (tstringdef(def).string_typ in [st_ansistring,st_widestring])) or
((def.deftype=procvardef) and not(po_methodpointer in tprocvardef(def).procoptions)) or
((def.deftype=objectdef) and not is_object(def)) or
@ -402,7 +403,12 @@ end.
{
$Log$
Revision 1.36 2003-04-27 11:21:33 peter
Revision 1.37 2003-04-30 22:15:59 florian
* some 64 bit adaptions in ncgadd
* x86-64 now uses ncgadd
* tparamanager.ret_in_acc doesn't return true anymore for a void-def
Revision 1.36 2003/04/27 11:21:33 peter
* aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be

View File

@ -720,7 +720,7 @@ implementation
begin
Inside_asm_statement:=true;
case aktasmmode of
asmmode_none : ; { just be there to allow to a compile without
asmmode_none : ; { just be there to allow to compile a compiler without
any assembler readers }
{$ifdef i386}
{$ifndef NoRA386Att}
@ -1131,7 +1131,12 @@ implementation
end.
{
$Log$
Revision 1.94 2003-04-27 11:21:34 peter
Revision 1.95 2003-04-30 22:15:59 florian
* some 64 bit adaptions in ncgadd
* x86-64 now uses ncgadd
* tparamanager.ret_in_acc doesn't return true anymore for a void-def
Revision 1.94 2003/04/27 11:21:34 peter
* aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be

View File

@ -39,7 +39,8 @@ unit cpunode;
ncgcon,
ncgld,
ncgcal,
// n386add,n386con,n386flw,n386mat,n386mem,
ncgadd,
// n386con,n386flw,n386mat,n386mem,
// n386set,n386inl,n386opt,
{ this not really a node }
// n386obj
@ -51,7 +52,12 @@ unit cpunode;
end.
{
$Log$
Revision 1.3 2003-04-30 20:53:32 florian
Revision 1.4 2003-04-30 22:15:59 florian
* some 64 bit adaptions in ncgadd
* x86-64 now uses ncgadd
* tparamanager.ret_in_acc doesn't return true anymore for a void-def
Revision 1.3 2003/04/30 20:53:32 florian
* error when address of an abstract method is taken
* fixed some x86-64 problems
* merged some more x86-64 and i386 code