"Laurynas Biveinis" <[EMAIL PROTECTED]> writes: > > > ../../gcc-boehm-custom-marking/gcc/value-prof.h:48: syntax error, > > > unexpected '*', expecting ')' > > > > > > What should I do about it? > > > > > > > Have to typedef the pointer due to gengtype silliness, IIRC. > > > > IE typedef struct histogram_value_t *histogram_value_t_p; > > > > then use histogram_value_t_p in the structure with the gty marker. > > > Still not too good: > > /* The value to measure. */ > typedef struct histogram_value_t *histogram_value; > struct histogram_value_t GTY(()) > { > struct > { > tree value; /* The value to profile. */ > tree stmt; /* Insn containing the value. */ > gcov_type *counters; /* Pointer to first counter. */ > histogram_value GTY((chain_next("%h.next"))) next; /* > Linked > list pointer. */ > } hvalue; > enum hist_type type; /* Type of information to > measure. */ > unsigned n_counters; /* Number of required counters. > */ > union > { > struct > { > int int_start; /* First value in interval. */ > unsigned int steps; /* Number of values in it. */ > } intvl; /* Interval histogram data. */ > } GTY((default("intvl"))) hdata; /* Profiled information > specific data. */ > }; > > ../../gcc-boehm-custom-marking/gcc/value-prof.h:45: syntax error, > unexpected '{', expecting ID > > > The error is on the opening bracket on the first inner anonymous > struct. Maybe this struct should be made non-inner or non-anonymous? > Also, what's the deal with single-element union?
gengtype doesn't support anonymous structures or unions, you need to give them a name. (I don't remember if this is simply a limitation of the existing implementation or if it's more fundamental.)