This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Merging stmt_ann_d into tree_statement_list_node


Hello,

> > > This looks like a better approach.  How would we do your step 1?  We
> > > have var_ann and tree_ann in addition to stmt_ann.  Shall we put a
> > > type field at the beginning of tree_statement_list_node+stmt_ann_d so
> > > that an annotation node can identify itself?  (Since all these tree
> > > annotations already have a field for annotation type, it's more like
> > > appending tree_statement_list_node to stmt_ann_d.)
> > 
> > I would go just for having
> > 
> > union
> > {
> >   struct stmt_list_node *container;	/* For gimple statements.  */
> >   tree_ann_t ann;			/* For everything else.  */
> > }
> 
> Err, I don't see how to tell the garbage collector about this without
> a type field.  We cannot rely on TREE_CODE (stmt) because CALL_EXPR
> may appear by itself or as an rhs of MODIFY_EXPR.

in the later case, they don't have annotations?  But OK, there may be
some other case I am forgetting now, so perhaps making it safe and
having a type field is a better idea.

Zdenek


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]