mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 13:06:18 +02:00
* 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:
parent
d55bb22c58
commit
dac2986b7f
@ -740,6 +740,7 @@ implementation
|
|||||||
+ if porddef(p^.left^.resulttype)^.typ=u32bit then
|
+ if porddef(p^.left^.resulttype)^.typ=u32bit then
|
||||||
+ exprasmlist^.concat(new(pai386,op_ref(A_FILD,S_IQ,r)))
|
+ exprasmlist^.concat(new(pai386,op_ref(A_FILD,S_IQ,r)))
|
||||||
+ else}
|
+ else}
|
||||||
|
clear_location(p^.location);
|
||||||
p^.location.loc := LOC_FPU;
|
p^.location.loc := LOC_FPU;
|
||||||
{ get floating point register. }
|
{ get floating point register. }
|
||||||
if (cs_fp_emulation in aktmoduleswitches) then
|
if (cs_fp_emulation in aktmoduleswitches) then
|
||||||
@ -812,6 +813,7 @@ implementation
|
|||||||
case p^.left^.location.loc of
|
case p^.left^.location.loc of
|
||||||
LOC_FPU : begin
|
LOC_FPU : begin
|
||||||
{ reload }
|
{ reload }
|
||||||
|
clear_location(p^.location);
|
||||||
p^.location.loc := LOC_FPU;
|
p^.location.loc := LOC_FPU;
|
||||||
p^.location.fpureg := p^.left^.location.fpureg;
|
p^.location.fpureg := p^.left^.location.fpureg;
|
||||||
end;
|
end;
|
||||||
@ -1394,7 +1396,12 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
* undid some changes of Peter that made the compiler wrong
|
||||||
for m68k (I had to reinsert some ifdefs)
|
for m68k (I had to reinsert some ifdefs)
|
||||||
* removed several memory leaks under m68k
|
* removed several memory leaks under m68k
|
||||||
|
@ -631,6 +631,7 @@ unit files;
|
|||||||
{ Open the ppufile }
|
{ Open the ppufile }
|
||||||
Message1(unit_u_ppu_name,ppufilename^);
|
Message1(unit_u_ppu_name,ppufilename^);
|
||||||
ppufile:=new(pppufile,init(ppufilename^));
|
ppufile:=new(pppufile,init(ppufilename^));
|
||||||
|
ppufile^.change_endian:=source_os.endian<>target_os.endian;
|
||||||
if not ppufile^.open then
|
if not ppufile^.open then
|
||||||
begin
|
begin
|
||||||
dispose(ppufile,done);
|
dispose(ppufile,done);
|
||||||
@ -1007,7 +1008,12 @@ unit files;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
* fixed -al
|
||||||
|
|
||||||
Revision 1.58 1998/10/12 11:59:00 peter
|
Revision 1.58 1998/10/12 11:59:00 peter
|
||||||
|
@ -544,7 +544,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
readdata(l,4);
|
readdata(l,4);
|
||||||
if change_endian then
|
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
|
else
|
||||||
getlongint:=l;
|
getlongint:=l;
|
||||||
inc(entryidx,4);
|
inc(entryidx,4);
|
||||||
@ -752,7 +754,9 @@ end;
|
|||||||
procedure tppufile.putlongint(l:longint);
|
procedure tppufile.putlongint(l:longint);
|
||||||
begin
|
begin
|
||||||
if change_endian then
|
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);
|
putdata(l,4);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -772,7 +776,12 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
+ aktmodeswitches
|
||||||
|
|
||||||
Revision 1.15 1998/09/23 15:39:10 pierre
|
Revision 1.15 1998/09/23 15:39:10 pierre
|
||||||
|
@ -203,10 +203,10 @@
|
|||||||
|
|
||||||
{ open ppufile }
|
{ open ppufile }
|
||||||
current_ppu:=new(pppufile,init(s));
|
current_ppu:=new(pppufile,init(s));
|
||||||
current_ppu^.change_endian:=source_os.endian<>target_os.endian;
|
|
||||||
if not current_ppu^.create then
|
if not current_ppu^.create then
|
||||||
Message(unit_f_ppu_cannot_write);
|
Message(unit_f_ppu_cannot_write);
|
||||||
|
|
||||||
|
current_ppu^.change_endian:=source_os.endian<>target_os.endian;
|
||||||
{ write symbols and definitions }
|
{ write symbols and definitions }
|
||||||
unittable^.writeasunit;
|
unittable^.writeasunit;
|
||||||
|
|
||||||
@ -443,7 +443,12 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
* new style for m68k/i386 infos and enums
|
||||||
|
|
||||||
Revision 1.19 1998/10/08 23:29:07 peter
|
Revision 1.19 1998/10/08 23:29:07 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user