This is the mail archive of the 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: How to GTYize a struct properly?

> ../../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(())
     tree value;		/* The value to profile.  */
     tree stmt;		/* Insn containing the value.  */
     gcov_type *counters;		        /* Pointer to first counter.  */
     histogram_value GTY((chain_next(""))) next;		/* Linked
list pointer.  */
   } hvalue;
 enum hist_type type;			/* Type of information to measure.  */
 unsigned n_counters;			/* Number of required counters.  */
	  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?


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