On Sat, 06 May 2006 20:54:54 +0330
"roozbeh gholizadeh" <[EMAIL PROTECTED]> wrote:

> On Fri, 05 May 2006 15:33:58 +0330, Peter Vreman <[EMAIL PROTECTED]>  
> wrote:
> 
> >> Hi,
> >> lots of types in lcltypes are declared as packed,which i dont know why,
> >> as far as i know lots of them are similar to types with almost exact  
> >> name
> >>  from windows unit,but as you look at windows unit,none of them are
> >> packed.
> >> also almost all of these records are by itself 2byte or 4byte
> >aligned,ie > removing packed will not influence them.

2byte aligned?
I thought, a record on 32bit machines is always 4 byte aligned, isn't?


> >> The problem is in wince, by using packed lots of things change,compiler
> >> now generates unaligned codes,and becouse it defaults packing to
> >> 1byte,packed variables might reside in odd number memory places.
> >> This doesnt make problem in program,becouse all accesses are done in
> >one > byte schema,but when sending these records to winapi,they all
> >generate > errors,which is really hard to find too!
> >>
> >> I suggest removing all packed records when they are unessesary.
> >
> > Removing the packed is also required for win64.
> 
> So should i send patches to resolve this?
> as far as i investigated none of pack records are really needed,but for  
> now we can only change those whose with and without pack keyword,records  
> size remains same,just to be sure nothing happen.

Yes, please first send a patch with safe changes.
Then the patch for the unsafe.


Mattias

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to