-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];
+typedef union varray_data_tag GTY (()) {
+ char GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_C"))) c[1];
+ unsigned char GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_UC"))) uc[1];
+ short GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_S"))) s[1];
+ unsigned short GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_US"))) us[1];
+ int GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_I"))) i[1];
+ unsigned int GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_U"))) u[1];
+ long GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_L"))) l[1];
+ unsigned long GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_UL"))) ul[1];
+ HOST_WIDE_INT GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_HINT"))) hint[1];
+ unsigned HOST_WIDE_INT GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_UHINT"))) uhint[1];
+ PTR GTY ((length ("%0.num_elements"), use_param (""),
+ tag ("VARRAY_DATA_GENERIC"))) generic[1];
+ char *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_CPTR"))) cptr[1];
+ struct rtx_def *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_RTX"))) rtx[1];
+ struct rtvec_def *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_RTVEC"))) rtvec[1];
+ union tree_node *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_TREE"))) tree[1];
+ struct bitmap_head_def *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_BITMAP"))) bitmap[1];
+ struct reg_info_def *GTY ((length ("%0.num_elements"), skip (""),
+ tag ("VARRAY_DATA_REG"))) reg[1];
+ struct const_equiv_data GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_CONST_EQUIV"))) const_equiv[1];
+ struct basic_block_def *GTY ((length ("%0.num_elements"), skip (""),
+ tag ("VARRAY_DATA_BB"))) bb[1];
+ struct elt_list *GTY ((length ("%0.num_elements"),
+ tag ("VARRAY_DATA_TE"))) te[1];