FPC_REQUIRES_PROPER_ALIGNMENT is not defined for RTL
Original Reporter info from Mantis: dmitry@dimastr.com
-
Reporter name: Dmitry Streblechenko
Original Reporter info from Mantis: dmitry@dimastr.com
- Reporter name: Dmitry Streblechenko
Description:
FPC_REQUIRES_PROPER_ALIGNMENT is not defined for RTL in Win64, resulting in many structures having improper alignment, e.g. tagSTATSTG in types.pp etc.
All Windows API structures are 8 bytes aligned on Windows 64.
Steps to reproduce:
Create any project that retrieves IStream interface from Windows (I used MAPI's IMAPIProp.OpenProperty(..., IID_IStream, ...) and call IStream.Stat().
Unless tagSTATSTG is redefined to to be 8 bytes aligned, IStrea.Stat returns junk.
Mantis conversion info:
- Mantis ID: 16159
- OS: Windows
- OS Build: Windows 7
- Build: 2.5.1-20100330-win64
- Platform: Win64
- Version: 2.5.1
- Monitored by: » dmitry@dimastr.com (Dmitry Streblechenko)