You keep saying "If we had done this by creating new types, it would be 
    a mess", but what we have *now* is a mess.

    I seriously doubt the "mess" created by having new types for objects of
    new sizes would be greater than what we have now.

I disagree.  The mess we have right now is simply due to not precisely
defining what things mean.  We have access functions for all of the
relevant data and just need to code them properly. But we're not putting
anything extra into the tree.

Adding new types adds extra junk into the tree that obscures the source code
and makes it harder to optimize.  For example, if X is struct FOO but is
specified to have a larger size, if we simply change DECL_SIZE of X, there's
no complexity in the tree.

But if we have to make a new struct (say called FOO_X), then we have to change
every reference to X in the tree to something like X.F.  It can be done (Ada
does it), but adds complexity of a very different sort.

Reply via email to