> Hasn't GNAT sorted Ada elements in records (e.g. structures) by size > since near its initial addition to GCC in the mid-90s?
No, it wasn't done early on and it was never done in that major a way now. Most reordering (possibly all; I'm not sure) is done between objects of variable and fixed size, not between objects of differing fixed sizes. > I know Ada is traditionally more strongly typed than C/C++, but tf it can > be done for Ada programs reliably, why could it not be reliable in C? I don't see it as a reliability issue, but one of expectations. One might be using a struct to map some hardware layout or records in a file so that reordering fields could break things.