-typedef union varray_data_tag {
- char c[1];
- unsigned char uc[1];
- short s[1];
- unsigned short us[1];
- int i[1];
- unsigned int u[1];
- long l[1];
- unsigned long ul[1];
- HOST_WIDE_INT hint[1];
- unsigned HOST_WIDE_INT uhint[1];
- PTR generic[1];
- char *cptr[1];
- struct rtx_def *rtx[1];
- struct rtvec_def *rtvec[1];
- union tree_node *tree[1];
- struct bitmap_head_def *bitmap[1];
- struct sched_info_tag *sched[1];
- struct reg_info_def *reg[1];
- struct const_equiv_data const_equiv[1];
- struct basic_block_def *bb[1];
- struct elt_list *te[1];
+typedef union varray_data_tag GTY (()) {
+ char GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_C"))) vdt_c[1];
+ unsigned char GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_UC"))) vdt_uc[1];
+ short GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_S"))) vdt_s[1];
+ unsigned short GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_US"))) vdt_us[1];
+ int GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_I"))) vdt_i[1];
+ unsigned int GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_U"))) vdt_u[1];
+ long GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_L"))) vdt_l[1];
+ unsigned long GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_UL"))) vdt_ul[1];
+ HOST_WIDE_INT GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_HINT"))) vdt_hint[1];
+ unsigned HOST_WIDE_INT GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_UHINT"))) vdt_uhint[1];
+ PTR GTY ((length ("%0.num_elements"), use_param,
+ tag ("VARRAY_DATA_GENERIC"))) vdt_generic[1];
+ PTR GTY ((length ("%0.num_elements"), skip (""),
+ tag ("VARRAY_DATA_GENERIC_NOGC"))) vdt_generic_nogc[1];
+ char *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_CPTR"))) vdt_cptr[1];
+ rtx GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_RTX"))) vdt_rtx[1];
+ rtvec GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_RTVEC"))) vdt_rtvec[1];
+ tree GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_TREE"))) vdt_tree[1];
+ struct bitmap_head_def *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_BITMAP"))) vdt_bitmap[1];
+ struct reg_info_def *GTY ((length ("%0.num_elements"), skip,
+ tag ("VARRAY_DATA_REG"))) vdt_reg[1];
+ struct basic_block_def *GTY ((length ("%0.num_elements"), skip,
+ tag ("VARRAY_DATA_BB"))) vdt_bb[1];
+ struct elt_list *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_TE"))) vdt_te[1];
+ struct edge_def *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_EDGE"))) vdt_e[1];
+ tree *GTY ((length ("%0.num_elements"), skip (""),
+ tag ("VARRAY_DATA_TREE_PTR"))) vdt_tp[1];