* fixed problems on targets requiring proper alignment

This commit is contained in:
florian 2004-11-03 20:51:36 +00:00
parent 641ee0038c
commit 3ed1a1505e
7 changed files with 101 additions and 22 deletions

View File

@ -239,7 +239,11 @@ CONST
{ EVENT RECORD DEFINITION } { EVENT RECORD DEFINITION }
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
TYPE TYPE
TEvent = PACKED RECORD TEvent =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
What: Sw_Word; { Event type } What: Sw_Word; { Event type }
Case Sw_Word Of Case Sw_Word Of
evNothing: (); { ** NO EVENT ** } evNothing: (); { ** NO EVENT ** }
@ -1451,7 +1455,10 @@ BEGIN
END. END.
{ {
$Log$ $Log$
Revision 1.40 2004-11-03 20:33:05 peter Revision 1.41 2004-11-03 20:51:36 florian
* fixed problems on targets requiring proper alignment
Revision 1.40 2004/11/03 20:33:05 peter
* removed unnecesasry graphfv stuff * removed unnecesasry graphfv stuff
Revision 1.39 2004/11/02 23:53:19 peter Revision 1.39 2004/11/02 23:53:19 peter

View File

@ -331,22 +331,38 @@ const
UndoCmds : TCommandSet = ([cmUndo,cmRedo]); UndoCmds : TCommandSet = ([cmUndo,cmRedo]);
TYPE TYPE
TFindDialogRec = packed record TFindDialogRec =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
packed
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
record
Find : String[80]; Find : String[80];
Options : Word; Options : Word;
end; end;
TReplaceDialogRec = packed record TReplaceDialogRec =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
packed
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
record
Find : String[80]; Find : String[80];
Replace : String[80]; Replace : String[80];
Options : Word; Options : Word;
end; end;
TRightMarginRec = packed record TRightMarginRec =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
packed
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
record
Margin_Position : String[3]; Margin_Position : String[3];
end; end;
TTabStopRec = packed record TTabStopRec =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
packed
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
record
Tab_String : String [Tab_Stop_Length]; Tab_String : String [Tab_Stop_Length];
end; end;

View File

@ -156,7 +156,7 @@ PROCEDURE StoreHistory (Var S: TStream);
{ INITIALIZED DOS/DPMI/WIN/NT/OS2 VARIABLES } { INITIALIZED DOS/DPMI/WIN/NT/OS2 VARIABLES }
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
CONST CONST
HistorySize: Word = 1024; { Maximum history size } HistorySize: Word = 64*1024; { Maximum history size }
HistoryUsed: LongInt = 0; { History used } HistoryUsed: LongInt = 0; { History used }
HistoryBlock: Pointer = Nil; { Storage block } HistoryBlock: Pointer = Nil; { Storage block }
@ -172,7 +172,11 @@ CONST
{ THistRec RECORD DEFINITION } { THistRec RECORD DEFINITION }
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
TYPE TYPE
THistRec = PACKED RECORD THistRec =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
Zero: byte; { Start marker } Zero: byte; { Start marker }
Id : byte; { History id } Id : byte; { History id }
Str : String; { History string } Str : String; { History string }
@ -420,7 +424,10 @@ END.
{ {
$Log$ $Log$
Revision 1.10 2002-10-17 11:24:16 pierre Revision 1.11 2004-11-03 20:51:36 florian
* fixed problems on targets requiring proper alignment
Revision 1.10 2002/10/17 11:24:16 pierre
* Clean up the Load/Store routines so they are endian independent * Clean up the Load/Store routines so they are endian independent
Revision 1.9 2002/09/07 15:06:37 peter Revision 1.9 2002/09/07 15:06:37 peter

View File

@ -217,7 +217,11 @@ CONST
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
TYPE TYPE
PBuffer = ^TBuffer; { Buffer pointer } PBuffer = ^TBuffer; { Buffer pointer }
TBuffer = PACKED RECORD TBuffer =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
{$IFDEF PROC_REAL} { REAL MODE DOS CODE } {$IFDEF PROC_REAL} { REAL MODE DOS CODE }
Size : Word; { Buffer size } Size : Word; { Buffer size }
Master: ^Word; { Master buffer } Master: ^Word; { Master buffer }
@ -232,7 +236,11 @@ TYPE
{ POINTER TYPE CONVERSION RECORDS } { POINTER TYPE CONVERSION RECORDS }
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
TYPE TYPE
PtrRec = PACKED RECORD PtrRec =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
Ofs, Seg: Word; { Pointer to words } Ofs, Seg: Word; { Pointer to words }
END; END;
@ -242,13 +250,21 @@ TYPE
TYPE TYPE
PCache = ^TCache; { Cache pointer } PCache = ^TCache; { Cache pointer }
{$IFDEF PROC_REAL} { REAL MODE DOS CODE } {$IFDEF PROC_REAL} { REAL MODE DOS CODE }
TCache = PACKED RECORD TCache =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
Size : Word; { Cache size } Size : Word; { Cache size }
Master: ^Pointer; { Master cache } Master: ^Pointer; { Master cache }
Data : RECORD END; { Cache data } Data : RECORD END; { Cache data }
END; END;
{$ELSE} { DPMI/WIN/NT/OS2 CODE } {$ELSE} { DPMI/WIN/NT/OS2 CODE }
TCache = PACKED RECORD TCache =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
Next : PCache; { Next cache } Next : PCache; { Next cache }
Master: ^Pointer; { Master cache } Master: ^Pointer; { Master cache }
Size : Word; { Size of cache } Size : Word; { Size of cache }
@ -832,7 +848,10 @@ END.
{ {
$Log$ $Log$
Revision 1.7 2002-09-22 19:42:22 hajny Revision 1.8 2004-11-03 20:51:36 florian
* fixed problems on targets requiring proper alignment
Revision 1.7 2002/09/22 19:42:22 hajny
+ FPC/2 support added + FPC/2 support added
Revision 1.6 2002/09/09 08:04:06 pierre Revision 1.6 2002/09/09 08:04:06 pierre

View File

@ -119,7 +119,11 @@ TYPE
{ TMenuItem RECORD } { TMenuItem RECORD }
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
PMenuItem = ^TMenuItem; PMenuItem = ^TMenuItem;
TMenuItem = PACKED RECORD TMenuItem =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
Next: PMenuItem; { Next menu item } Next: PMenuItem; { Next menu item }
Name: PString; { Menu item name } Name: PString; { Menu item name }
Command: Word; { Menu item command } Command: Word; { Menu item command }
@ -134,7 +138,11 @@ TYPE
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
{ TMenu RECORD } { TMenu RECORD }
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
TMenu = PACKED RECORD TMenu =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
Items: PMenuItem; { Menu item list } Items: PMenuItem; { Menu item list }
Default: PMenuItem; { Default menu } Default: PMenuItem; { Default menu }
END; END;
@ -144,7 +152,11 @@ TYPE
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
TYPE TYPE
PStatusItem = ^TStatusItem; PStatusItem = ^TStatusItem;
TStatusItem = PACKED RECORD TStatusItem =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
Next: PStatusItem; { Next status item } Next: PStatusItem; { Next status item }
Text: PString; { Text of status item } Text: PString; { Text of status item }
KeyCode: Word; { Keycode of item } KeyCode: Word; { Keycode of item }
@ -156,7 +168,11 @@ TYPE
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
TYPE TYPE
PStatusDef = ^TStatusDef; PStatusDef = ^TStatusDef;
TStatusDef = PACKED RECORD TStatusDef =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
Next: PStatusDef; { Next status defined } Next: PStatusDef; { Next status defined }
Min, Max: Word; { Range of item } Min, Max: Word; { Range of item }
Items: PStatusItem; { Item list } Items: PStatusItem; { Item list }
@ -1687,7 +1703,10 @@ END;
END. END.
{ {
$Log$ $Log$
Revision 1.19 2004-11-03 20:33:05 peter Revision 1.20 2004-11-03 20:51:36 florian
* fixed problems on targets requiring proper alignment
Revision 1.19 2004/11/03 20:33:05 peter
* removed unnecesasry graphfv stuff * removed unnecesasry graphfv stuff
Revision 1.18 2004/11/03 12:09:08 peter Revision 1.18 2004/11/03 12:09:08 peter

View File

@ -87,7 +87,11 @@ type
{ Record used to store directory information by TFileDialog { Record used to store directory information by TFileDialog
This is a part of Dos.Searchrec for Bp !! } This is a part of Dos.Searchrec for Bp !! }
TSearchRec = packed record TSearchRec =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
packed
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
record
Attr: Longint; Attr: Longint;
Time: Longint; Time: Longint;
Size: Longint; Size: Longint;

View File

@ -328,7 +328,11 @@ TYPE
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
TYPE TYPE
PComplexArea = ^TComplexArea; { Complex area } PComplexArea = ^TComplexArea; { Complex area }
TComplexArea = PACKED RECORD TComplexArea =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
PACKED
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
RECORD
X1, Y1 : Sw_Integer; { Top left corner } X1, Y1 : Sw_Integer; { Top left corner }
X2, Y2 : Sw_Integer; { Lower right corner } X2, Y2 : Sw_Integer; { Lower right corner }
NextArea: PComplexArea; { Next area pointer } NextArea: PComplexArea; { Next area pointer }
@ -5212,7 +5216,10 @@ END.
{ {
$Log$ $Log$
Revision 1.44 2004-11-03 20:33:05 peter Revision 1.45 2004-11-03 20:51:36 florian
* fixed problems on targets requiring proper alignment
Revision 1.44 2004/11/03 20:33:05 peter
* removed unnecesasry graphfv stuff * removed unnecesasry graphfv stuff
Revision 1.43 2004/11/03 12:09:08 peter Revision 1.43 2004/11/03 12:09:08 peter