#1 2018-03-15 22:17:33

mpv
Member
From: Ukraine
Registered: 2012-03-24
Posts: 1,539
Website

Record alignment {$A+} {$A-} not work

During fixing of SynOleDb for FPC x64 I found {$A+} & {$A-} directives are ignored by FPC compiler, so I replace it by {$A8} & {$A1} see pull request
But I have found the same in many different places of mORMot sources - so code review is required.
@ab - I'm afraid to do such a bug changes - may be you review code for this situation?

In SynCrtSock FPC specific {$PACKRECORDS C} directive is used (I think this is wrong - it for export to C only)
In SynCrypto TAESFullHeader already aligned as far as I understand so maybe {$A-} unnecessary
and so on..

Offline

#2 2018-03-16 08:16:29

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,206
Website

Re: Record alignment {$A+} {$A-} not work

I've merged your pull request.

Thanks for debugging it and finding a workaround!

Offline

#3 2018-03-16 08:45:20

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,206
Website

Re: Record alignment {$A+} {$A-} not work

Delphi 5 doesn't understand the {$A1} directive, so I've changed it into {$A-} and I hope it works as expected with FPC (seems OK from my own tests).

See https://synopse.info/fossil/info/60a63f5063

Offline

Board footer

Powered by FluxBB