Hi,

On Sat, 22 Jan 2011, Nathan Froyd wrote:

> - Similarly to the work I did for s/TREE_CHAIN/DECL_CHAIN/, I'd like to
>   replace TREE_TYPE for things like {POINTER,FUNCTION,ARRAY}_TYPE, etc.
>   This work would be a good step towards both staticizing trees and
>   tuplification of types.

While I'm sympathetic with most other things I don't see the need for the 
above.  Almost all program entities described by trees that aren't 
collections themself have a type.  I don't see the advantage in the 
accessors to that type be named differently according to context compared 
to simply TREE_TYPE.

If your goal is to make tree_common smaller, introduce a tree_typed 
structure (consisting of tree_base + type member), and use that instead of 
tree_common in all tree structures needing to have a type.  In fact, if 
you reach the goal of getting rid of tree_common.chain then tree_common 
_is_ tree_typed.  You then merely need to check the current includers of 
tree_common if they make sense (tree_block, tree_statement_list and 
tree_optimization_option for instance presumably include tree_common only 
for the .chain member) and if not replace tree_common by tree_base.


Ciao,
Michael.

Reply via email to