Frank Heckenbach wrote:
Adriaan van Os wrote:
Frank Heckenbach wrote:
TEST bitsizes.pas: failed
TEST fjf31.pas: failed: 2, 2, 1
TEST pack1.pas: failed
These tests test the size of packed records which is affected by maximum-field-alignment. So I think we should just insert `{$maximum-field-alignment 0}' in those tests as well, do you agree?
The question is whether a maximum-field-alignment (command line or compiler) option should have any effect on packed types. I didn't think about that case before, but my answer to that question is "no".
Var R: packed record a: Boolean; b: 1..3; end;
Use of "packed" could imply a local maximum-field-alignment=8 (or 0) for the type, so that always SizeOf( R) = 1.
Any other opinions ?
I don't use maximum-field-alignment myself, so I don't care much either way. BP compatibility should be of no concern either if they use `--ignore-packed' anyway.
So if there's consensus, I think I can change it.
Before you change it, I think some more investigation is needed to see what effect it will have on the packed types layouts found in Apple's Pascal Universal Interfaces.
In essense, maximum-field-alignment was a solution hack to get the correct type layout alignments needed for interfacing with Mac OS X when using a GPC compatible translation of Apple's Pascal Interfaces. Since the hack seems to be working for Mac OS X, I wouldn't like to see it break as a result of a change "fixing" something unrelated to Mac OS X interfacing.
Gale Paeper gpaeper@empirenet.com