In the new Trunk 3.3.1, on a 64bit machine, the behavior with a an
y : array [0..0] of xxx;
is changed

I have:
{$push}
{$packrecords 4}
MIDIPacket = record
timeStamp : MIDITimeStamp;
length : UInt16;
data : packed array [0..255] of Byte;
end;
MIDIPacketPtr = ^MIDIPacket;
{$pop}
this structure is 268 bytes long, this is correct
now i have:
{$push}
{$packrecords 4}
MIDIPacketList = record
numPackets: UInt32;
packet: array [0..0] of MIDIPacket;
end;
{$pop}
this structure is now 280 byte long!
in the old FPC Trunk 3.3.1 [about half a year ago]
this structure was 272 bytes long, and this is the correct size!
so I can work with a ABI...
As I understand it should be:
sizeof(Uint32) + sizeof(MIDIPacket) so 272 bytes, but its not.
something was changed in the compiler.
what was changed and how to fix(is there a compiler switch)?