* ppu problems for m68k fixed (at least in cross compiling)

* one last memory leak for sysamiga fixed
  * the amiga RTL compiles now completely !!
This commit is contained in:
pierre 1998-10-14 10:45:05 +00:00
parent d55bb22c58
commit dac2986b7f
4 changed files with 34 additions and 7 deletions

View File

@ -740,6 +740,7 @@ implementation
+ if porddef(p^.left^.resulttype)^.typ=u32bit then
+ exprasmlist^.concat(new(pai386,op_ref(A_FILD,S_IQ,r)))
+ else}
clear_location(p^.location);
p^.location.loc := LOC_FPU;
{ get floating point register. }
if (cs_fp_emulation in aktmoduleswitches) then
@ -812,6 +813,7 @@ implementation
case p^.left^.location.loc of
LOC_FPU : begin
{ reload }
clear_location(p^.location);
p^.location.loc := LOC_FPU;
p^.location.fpureg := p^.left^.location.fpureg;
end;
@ -1394,7 +1396,12 @@ implementation
end.
{
$Log$
Revision 1.7 1998-10-13 16:50:06 pierre
Revision 1.8 1998-10-14 10:45:05 pierre
* ppu problems for m68k fixed (at least in cross compiling)
* one last memory leak for sysamiga fixed
* the amiga RTL compiles now completely !!
Revision 1.7 1998/10/13 16:50:06 pierre
* undid some changes of Peter that made the compiler wrong
for m68k (I had to reinsert some ifdefs)
* removed several memory leaks under m68k

View File

@ -631,6 +631,7 @@ unit files;
{ Open the ppufile }
Message1(unit_u_ppu_name,ppufilename^);
ppufile:=new(pppufile,init(ppufilename^));
ppufile^.change_endian:=source_os.endian<>target_os.endian;
if not ppufile^.open then
begin
dispose(ppufile,done);
@ -1007,7 +1008,12 @@ unit files;
end.
{
$Log$
Revision 1.59 1998-10-13 14:01:07 peter
Revision 1.60 1998-10-14 10:45:07 pierre
* ppu problems for m68k fixed (at least in cross compiling)
* one last memory leak for sysamiga fixed
* the amiga RTL compiles now completely !!
Revision 1.59 1998/10/13 14:01:07 peter
* fixed -al
Revision 1.58 1998/10/12 11:59:00 peter

View File

@ -544,7 +544,9 @@ begin
end;
readdata(l,4);
if change_endian then
getlongint:=swap(l shr 16) or (longint(swap(l and $ffff)) shl 16)
{ someone added swap(l : longint) in system unit
this broke the following code !! }
getlongint:=swap(word(l shr 16)) or (longint(swap(word(l and $ffff))) shl 16)
else
getlongint:=l;
inc(entryidx,4);
@ -752,7 +754,9 @@ end;
procedure tppufile.putlongint(l:longint);
begin
if change_endian then
l:=swap(l shr 16) or (longint(swap(l and $ffff)) shl 16);
{ someone added swap(l : longint) in system unit
this broke the following code !! }
l:=swap(word(l shr 16)) or (longint(swap(word(l and $ffff))) shl 16);
putdata(l,4);
end;
@ -772,7 +776,12 @@ end;
end.
{
$Log$
Revision 1.16 1998-09-24 23:49:14 peter
Revision 1.17 1998-10-14 10:45:08 pierre
* ppu problems for m68k fixed (at least in cross compiling)
* one last memory leak for sysamiga fixed
* the amiga RTL compiles now completely !!
Revision 1.16 1998/09/24 23:49:14 peter
+ aktmodeswitches
Revision 1.15 1998/09/23 15:39:10 pierre

View File

@ -203,10 +203,10 @@
{ open ppufile }
current_ppu:=new(pppufile,init(s));
current_ppu^.change_endian:=source_os.endian<>target_os.endian;
if not current_ppu^.create then
Message(unit_f_ppu_cannot_write);
current_ppu^.change_endian:=source_os.endian<>target_os.endian;
{ write symbols and definitions }
unittable^.writeasunit;
@ -443,7 +443,12 @@
{
$Log$
Revision 1.20 1998-10-13 13:10:30 peter
Revision 1.21 1998-10-14 10:45:10 pierre
* ppu problems for m68k fixed (at least in cross compiling)
* one last memory leak for sysamiga fixed
* the amiga RTL compiles now completely !!
Revision 1.20 1998/10/13 13:10:30 peter
* new style for m68k/i386 infos and enums
Revision 1.19 1998/10/08 23:29:07 peter