[tree-ssa][ GC, Virtual operands, and GCing between passes
Andrew MacLeod
amacleod@redhat.com
Thu Dec 11 14:34:00 GMT 2003
On Thu, 2003-12-11 at 09:14, S. Bosscher wrote:
> > The problem is that gengtype will not allow me to have vevotrs of type
> > tree **. It says its an unknown type.
> >
> > typedef struct def_optype_d GTY(())
> > {
> > unsigned num_defs;
> > tree ** defs;
> > } def_optype_t;
>
> Try this with http://gcc.gnu.org/ml/gcc-patches/2003-12/msg00593.html.
>
> If that doesn't work, make it "PTR * GTY((skip ())) defs" (or just
> "void **" if you have that patch applied anyway) and cast to tree
> where needed.
>
But when I use skip:
ptr * GTY((skip(""))) defs,
its doesn't mark the vector, so it gets stomped all over. :
typedef struct def_optype_d GTY(())
{
unsigned num_defs;
tree * GTY((skip(""))) defs;
} def_optype_t;
produces:
void
gt_ggc_mx_operands_d (void *x_p)
{
struct operands_d * const x = (struct operands_d *)x_p;
if (ggc_test_and_set_mark (x))
{
}
}
So that doesn't work for me either.
I am lothe to use the other patch until it is accepted by someone. OH, I
see Jim OK'd it. Has it been checked into mainline or the tree-ssa
branch?
Andrew
More information about the Gcc
mailing list