> The raison d'�tre behind record representation clauses is to make sure > that a record layout matches some external data format. For internal > data, you would be better off forgoing the representation clauses and > letting the compiler choose the optimal record layout. Absolutely. Alignment can make a substantial performance difference on some machines, so re-ordering or inserting padding will be an optimization. If you insert a rep spec where it really isn't needed (whether a hand or compiler or tool generated one) it may prevent valuable, and non-obvious, optimization when the program is recompiled for a different CPU. IIRC, at least one Ada compiler, given type R is record A : integer; B : integer range 40 .. 40 := 40; C : integer; end record; allocated zero bits for B since its value was known to be a constant 40. Underspecifying can be erroneous, but overspecifying can also have bad results.