> The only trouble you'll probably run into is with fields whose offset > from the start of a structure is variable.
Exactly. That's the reason it's defined the way it is. There is no way to synthesize that field from any other in the FIELD_DECL in the most general case: it is unique information. I'm traveling now, but should be able to give some examples of this early next week.