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