2
0
Эх сурвалжийг харах

amiga: no packed records in doslibd.inc and timerd.inc, use packrecords 2 insead, this improves code generated for plain 68000

git-svn-id: trunk@44420 -
Károly Balogh 5 жил өмнө
parent
commit
c7136b59c7

+ 38 - 39
rtl/amiga/doslibd.inc

@@ -22,6 +22,7 @@
   *********************************************************************
   *********************************************************************
   * }
   * }
 
 
+{$PACKRECORDS 2}
 
 
 const
 const
   DOSNAME = 'dos.library';
   DOSNAME = 'dos.library';
@@ -57,7 +58,7 @@ const
 
 
 type
 type
   PDateStamp = ^TDateStamp;
   PDateStamp = ^TDateStamp;
-  TDateStamp = packed record
+  TDateStamp = record
     ds_Days  : LongInt;
     ds_Days  : LongInt;
     ds_Minute: LongInt;
     ds_Minute: LongInt;
     ds_Tick  : LongInt;
     ds_Tick  : LongInt;
@@ -69,7 +70,7 @@ const
 
 
 type
 type
   PFileInfoBlock = ^TFileInfoBlock;
   PFileInfoBlock = ^TFileInfoBlock;
-  TFileInfoBlock = packed record
+  TFileInfoBlock = record
     fib_DiskKey     : LongInt;
     fib_DiskKey     : LongInt;
     fib_DirEntryType: LongInt;
     fib_DirEntryType: LongInt;
     fib_FileName    : Array[0..107] Of Char;
     fib_FileName    : Array[0..107] Of Char;
@@ -132,7 +133,7 @@ type
 
 
 type
 type
   PInfoData = ^TInfoData;
   PInfoData = ^TInfoData;
-  TInfoData = packed record
+  TInfoData = record
     id_NumSoftErrors: LongInt;
     id_NumSoftErrors: LongInt;
     id_UnitNumber   : LongInt;
     id_UnitNumber   : LongInt;
     id_DiskState    : LongInt;
     id_DiskState    : LongInt;
@@ -268,7 +269,7 @@ const
 type
 type
   { * Required to avoid conflict with default types * }
   { * Required to avoid conflict with default types * }
   _PDateTime = ^_TDateTime;
   _PDateTime = ^_TDateTime;
-  _TDateTime = packed record
+  _TDateTime = record
     dat_Stamp  : TDateStamp;
     dat_Stamp  : TDateStamp;
     dat_Format : Byte;
     dat_Format : Byte;
     dat_Flags  : Byte;
     dat_Flags  : Byte;
@@ -303,7 +304,7 @@ const
 
 
 type
 type
   PProcess = ^TProcess;
   PProcess = ^TProcess;
-  TProcess = packed record
+  TProcess = record
     pr_Task          : TTask;
     pr_Task          : TTask;
     pr_MsgPort       : TMsgPort;
     pr_MsgPort       : TMsgPort;
     pr_Pad           : Word;
     pr_Pad           : Word;
@@ -354,7 +355,7 @@ const
 
 
 type
 type
   PFileHandle = ^TFileHandle;
   PFileHandle = ^TFileHandle;
-  TFileHandle = packed record
+  TFileHandle = record
     fh_Flags      : DWord;
     fh_Flags      : DWord;
     fh_Interactive: LongInt;
     fh_Interactive: LongInt;
     fh_Type       : PMsgPort;
     fh_Type       : PMsgPort;
@@ -373,7 +374,7 @@ type
 
 
 type
 type
   PDOSPacket = ^TDOSPacket;
   PDOSPacket = ^TDOSPacket;
-  TDOSPacket = packed record
+  TDOSPacket = record
     dp_Link: PMessage;
     dp_Link: PMessage;
     dp_Port: PMsgPort;
     dp_Port: PMsgPort;
     case Byte of
     case Byte of
@@ -397,7 +398,7 @@ type
 
 
 type
 type
   PStandardPacket = ^TStandardPacket;
   PStandardPacket = ^TStandardPacket;
-  TStandardPacket = packed record
+  TStandardPacket = record
     sp_Msg: TMessage;
     sp_Msg: TMessage;
     sp_Pkt: TDOSPacket;
     sp_Pkt: TDOSPacket;
   end;
   end;
@@ -483,14 +484,14 @@ const
 
 
 type
 type
   PErrorString = ^TErrorString;
   PErrorString = ^TErrorString;
-  TErrorString = packed record
+  TErrorString = record
     estr_Nums: Pointer; { ^LongInt }
     estr_Nums: Pointer; { ^LongInt }
     estr_Byte: Pointer; { ^Byte    }
     estr_Byte: Pointer; { ^Byte    }
   end;
   end;
 
 
 type
 type
   PRootNode = ^TRootNode;
   PRootNode = ^TRootNode;
-  TRootNode = packed record
+  TRootNode = record
     rn_TaskArray         : DWord;      { BPTR }
     rn_TaskArray         : DWord;      { BPTR }
     rn_ConsoleSegment    : DWord;      { BPTR }
     rn_ConsoleSegment    : DWord;      { BPTR }
     rn_Time              : TDateStamp;
     rn_Time              : TDateStamp;
@@ -505,7 +506,7 @@ type
 
 
 type
 type
   PDOSLibrary = ^TDOSLibrary;
   PDOSLibrary = ^TDOSLibrary;
-  TDOSLibrary = packed record
+  TDOSLibrary = record
     dl_Lib          : TLibrary;
     dl_Lib          : TLibrary;
     dl_Root         : PRootNode;
     dl_Root         : PRootNode;
     dl_GU           : Pointer;
     dl_GU           : Pointer;
@@ -529,7 +530,7 @@ const
 
 
 type
 type
   PCliProcList = ^TCliProcList;
   PCliProcList = ^TCliProcList;
-  TCliProcList = packed record
+  TCliProcList = record
     cpl_Node : TMinNode;
     cpl_Node : TMinNode;
     cpl_First: LongInt;
     cpl_First: LongInt;
     cpl_Array: Array[0..0] Of PMsgPort;
     cpl_Array: Array[0..0] Of PMsgPort;
@@ -537,7 +538,7 @@ type
 
 
 type
 type
   PDOSInfo = ^TDOSInfo;
   PDOSInfo = ^TDOSInfo;
-  TDOSInfo = packed record
+  TDOSInfo = record
     case Byte of
     case Byte of
     0 : ( di_ResList: DWord; { BPTR }
     0 : ( di_ResList: DWord; { BPTR }
         );
         );
@@ -554,7 +555,7 @@ type
 
 
 type
 type
   PSegment = ^TSegment;
   PSegment = ^TSegment;
-  TSegment = packed record
+  TSegment = record
     seg_Next : DWord;   { BPTR }
     seg_Next : DWord;   { BPTR }
     seg_UC   : LongInt;
     seg_UC   : LongInt;
     seg_Seg  : DWord;   { BPTR }
     seg_Seg  : DWord;   { BPTR }
@@ -572,7 +573,7 @@ const
 
 
 type
 type
   PCommandLineInterface = ^TCommandLineInterface;
   PCommandLineInterface = ^TCommandLineInterface;
-  TCommandLineInterface = packed record
+  TCommandLineInterface = record
     cli_Result2       : LongInt;
     cli_Result2       : LongInt;
     cli_SetName       : DWord;   { BSTR }
     cli_SetName       : DWord;   { BSTR }
     cli_CommandDir    : DWord;   { BPTR }
     cli_CommandDir    : DWord;   { BPTR }
@@ -593,7 +594,7 @@ type
 
 
 type
 type
   PDeviceList = ^TDeviceList;
   PDeviceList = ^TDeviceList;
-  TDeviceList = packed record
+  TDeviceList = record
     dl_Next      : DWord;      { BPTR }
     dl_Next      : DWord;      { BPTR }
     dl_Type      : LongInt;
     dl_Type      : LongInt;
     dl_Task      : PMsgPort;
     dl_Task      : PMsgPort;
@@ -607,7 +608,7 @@ type
 
 
 type
 type
   PDevInfo = ^TDevInfo;
   PDevInfo = ^TDevInfo;
-  TDevInfo = packed record
+  TDevInfo = record
     dvi_Next     : DWord; { BPTR }
     dvi_Next     : DWord; { BPTR }
     dvi_Type     : LongInt;
     dvi_Type     : LongInt;
     dvi_Task     : Pointer;
     dvi_Task     : Pointer;
@@ -623,14 +624,14 @@ type
 
 
 type
 type
   PAssignList = ^TAssignList;
   PAssignList = ^TAssignList;
-  TAssignList = packed record
+  TAssignList = record
     al_Next: PAssignList;
     al_Next: PAssignList;
     al_Lock: DWord;       { BPTR }
     al_Lock: DWord;       { BPTR }
   end;
   end;
 
 
 type
 type
   PDOSList = ^TDOSList;
   PDOSList = ^TDOSList;
-  TDOSList = packed record
+  TDOSList = record
     dol_Next: DWord;    { BPTR }
     dol_Next: DWord;    { BPTR }
     dol_Type: LongInt;
     dol_Type: LongInt;
     dol_Task: PMsgPort;
     dol_Task: PMsgPort;
@@ -673,7 +674,7 @@ const
 
 
 type
 type
   PDevProc = ^TDevProc;
   PDevProc = ^TDevProc;
-  TDevProc = packed record
+  TDevProc = record
     dvp_Port   : PMsgPort;
     dvp_Port   : PMsgPort;
     dvp_Lock   : DWord;    { BPTR }
     dvp_Lock   : DWord;    { BPTR }
     dvp_Flags  : DWord;
     dvp_Flags  : DWord;
@@ -715,7 +716,7 @@ const
 
 
 type
 type
   PFileLock = ^TFileLock;
   PFileLock = ^TFileLock;
-  TFileLock = packed record
+  TFileLock = record
     fl_Link  : DWord;   { BPTR }
     fl_Link  : DWord;   { BPTR }
     fl_Key   : LongInt;
     fl_Key   : LongInt;
     fl_Access: LongInt;
     fl_Access: LongInt;
@@ -758,7 +759,7 @@ const
 
 
 type
 type
   PAChain = ^TAChain;
   PAChain = ^TAChain;
-  TAChain = packed record
+  TAChain = record
     an_Child : PAChain;
     an_Child : PAChain;
     an_Parent: PAChain;
     an_Parent: PAChain;
     an_Lock  : DWord;   { BPTR }
     an_Lock  : DWord;   { BPTR }
@@ -770,7 +771,7 @@ type
 
 
 type
 type
   PAnchorPath = ^TAnchorPath;
   PAnchorPath = ^TAnchorPath;
-  TAnchorPath = packed record
+  TAnchorPath = record
     case Byte of
     case Byte of
     0 : ( ap_First: PAChain;
     0 : ( ap_First: PAChain;
           ap_Last : PAChain;
           ap_Last : PAChain;
@@ -964,7 +965,7 @@ const
 
 
 type
 type
   PExAllData = ^TExAllData;
   PExAllData = ^TExAllData;
-  TExAllData = packed record
+  TExAllData = record
     ed_Next    : PExAllData;
     ed_Next    : PExAllData;
     ed_Name    : PChar;
     ed_Name    : PChar;
     ed_Type    : LongInt;
     ed_Type    : LongInt;
@@ -980,7 +981,7 @@ type
 
 
 type
 type
   PExAllControl = ^TExAllControl;
   PExAllControl = ^TExAllControl;
-  TexAllControl = packed record
+  TexAllControl = record
     eac_Entries    : Cardinal;
     eac_Entries    : Cardinal;
     eac_LastKey    : Cardinal;
     eac_LastKey    : Cardinal;
     eac_MatchString: PChar;
     eac_MatchString: PChar;
@@ -1004,7 +1005,7 @@ const
 
 
 type
 type
   PRecordLock = ^TRecordLock;
   PRecordLock = ^TRecordLock;
-  TRecordLock = packed record
+  TRecordLock = record
     rec_FH    : LongInt;
     rec_FH    : LongInt;
     rec_Offset: Cardinal;
     rec_Offset: Cardinal;
     rec_Length: Cardinal;
     rec_Length: Cardinal;
@@ -1122,7 +1123,7 @@ const
 
 
 type
 type
   PLocalVar = ^TLocalVar;
   PLocalVar = ^TLocalVar;
-  TLocalVar = packed record
+  TLocalVar = record
     lv_Node : TNode;
     lv_Node : TNode;
     lv_Flags: Word;
     lv_Flags: Word;
     lv_Value: PChar;
     lv_Value: PChar;
@@ -1162,7 +1163,7 @@ const
 
 
 type
 type
   PCSource = ^TCSource;
   PCSource = ^TCSource;
-  TCSource = packed record
+  TCSource = record
     CS_Buffer: PChar;
     CS_Buffer: PChar;
     CS_Length: LongInt;
     CS_Length: LongInt;
     CS_CurChr: LongInt;
     CS_CurChr: LongInt;
@@ -1170,7 +1171,7 @@ type
 
 
 type
 type
   PRDArgs = ^TRDArgs;
   PRDArgs = ^TRDArgs;
-  TRDArgs = packed record
+  TRDArgs = record
     RDA_Source : TCSource;
     RDA_Source : TCSource;
     RDA_DAList : LongInt;
     RDA_DAList : LongInt;
     RDA_Buffer : PChar;
     RDA_Buffer : PChar;
@@ -1203,7 +1204,7 @@ const
 
 
 type
 type
   PDosEnvec = ^TDosEnvec;
   PDosEnvec = ^TDosEnvec;
-  TDosEnvec = packed record
+  TDosEnvec = record
     de_TableSize     : Cardinal;
     de_TableSize     : Cardinal;
     de_SizeBlock     : Cardinal;
     de_SizeBlock     : Cardinal;
     de_SecOrg        : Cardinal;
     de_SecOrg        : Cardinal;
@@ -1253,7 +1254,7 @@ const
 
 
 type
 type
   PFileSysStartupMsg = ^TFileSysStartupMsg;
   PFileSysStartupMsg = ^TFileSysStartupMsg;
-  TFileSysStartupMsg = packed record
+  TFileSysStartupMsg = record
     fssm_Unit   : Cardinal;
     fssm_Unit   : Cardinal;
     fssm_Device : LongInt;
     fssm_Device : LongInt;
     fssm_Environ: LongInt;
     fssm_Environ: LongInt;
@@ -1262,7 +1263,7 @@ type
 
 
 type
 type
   PDeviceNode = ^TDeviceNode;
   PDeviceNode = ^TDeviceNode;
-  TDeviceNode = packed record
+  TDeviceNode = record
     dn_Next     : LongInt;
     dn_Next     : LongInt;
     dn_Type     : Cardinal;
     dn_Type     : Cardinal;
     dn_Task     : PMsgPort;
     dn_Task     : PMsgPort;
@@ -1290,7 +1291,7 @@ const
 
 
 type
 type
   PNotifyRequest = ^TNotifyRequest;
   PNotifyRequest = ^TNotifyRequest;
-  TNotifyRequest = packed record
+  TNotifyRequest = record
     nr_Name    : PChar;
     nr_Name    : PChar;
     nr_FullName: PChar;
     nr_FullName: PChar;
     nr_UserData: Cardinal;
     nr_UserData: Cardinal;
@@ -1313,7 +1314,7 @@ type
 
 
 type
 type
   PNotifyMessage = ^TNotifyMessage;
   PNotifyMessage = ^TNotifyMessage;
-  TNotifyMessage = packed record
+  TNotifyMessage = record
     nm_ExecMessage: TMessage;
     nm_ExecMessage: TMessage;
     nm_Class      : Cardinal;
     nm_Class      : Cardinal;
     nm_Code       : Word;
     nm_Code       : Word;
@@ -1355,7 +1356,7 @@ const
 
 
 type
 type
   PSegSem = ^TSegSem;
   PSegSem = ^TSegSem;
-  TSegSem = packed record
+  TSegSem = record
     seg_Semaphore: TSignalSemaphore;
     seg_Semaphore: TSignalSemaphore;
     seg_Find     : Procedure; { Name = seg_Find(REG(a0, ULONG Address), REG(a1, ULONG *SegNum), REG(a2, ULONG *Offset)) }
     seg_Find     : Procedure; { Name = seg_Find(REG(a0, ULONG Address), REG(a1, ULONG *SegNum), REG(a2, ULONG *Offset)) }
     seg_List     : TMinList;
     seg_List     : TMinList;
@@ -1363,18 +1364,16 @@ type
 
 
 type
 type
   PSegArray = ^TSegArray;
   PSegArray = ^TSegArray;
-  TSegArray = packed record
+  TSegArray = record
     seg_Address: Cardinal;
     seg_Address: Cardinal;
     seg_Size   : Cardinal;
     seg_Size   : Cardinal;
   end;
   end;
 
 
 type
 type
   PSegNode = ^TSegNode;
   PSegNode = ^TSegNode;
-  TSegNode = packed record
+  TSegNode = record
     seg_Node : TMinNode;
     seg_Node : TMinNode;
     seg_Name : PChar;
     seg_Name : PChar;
     seg_Array: Array[0..0] Of TSegArray;
     seg_Array: Array[0..0] Of TSegArray;
   end;
   end;
 
 
-
-

+ 4 - 5
rtl/amiga/timerd.inc

@@ -21,6 +21,7 @@
   *********************************************************************
   *********************************************************************
   * }
   * }
 
 
+{$PACKRECORDS 2}
 
 
 const
 const
   UNIT_MICROHZ      = 0;
   UNIT_MICROHZ      = 0;
@@ -38,21 +39,21 @@ const
 
 
 type
 type
   PTimeVal = ^TTimeVal;
   PTimeVal = ^TTimeVal;
-  TTimeVal = packed record
+  TTimeVal = record
     tv_secs : DWord;
     tv_secs : DWord;
     tv_micro: DWord;
     tv_micro: DWord;
   end;
   end;
 
 
 type
 type
   PEClockVal = ^TEClockVal;
   PEClockVal = ^TEClockVal;
-  TEClockVal = packed record
+  TEClockVal = record
     ev_hi: DWord;
     ev_hi: DWord;
     ev_lo: DWord;
     ev_lo: DWord;
   end;
   end;
 
 
 type
 type
   PTimeRequest = ^TTimeRequest;
   PTimeRequest = ^TTimeRequest;
-  TTimeRequest = packed record
+  TTimeRequest = record
     tr_node: TIORequest;
     tr_node: TIORequest;
     tr_time: TTimeVal;
     tr_time: TTimeVal;
   end;
   end;
@@ -63,5 +64,3 @@ const
    TR_GETSYSTIME = (CMD_NONSTD + 1);
    TR_GETSYSTIME = (CMD_NONSTD + 1);
    TR_SETSYSTIME = (CMD_NONSTD + 2);
    TR_SETSYSTIME = (CMD_NONSTD + 2);
 
 
-
-