This is the mail archive of the gcc-patches@gcc.gnu.org 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: PATCH: PR middle-end/20303: Can't push more than 16 nested visibility


On Mon, May 16, 2005 at 08:53:04PM -0700, Richard Henderson wrote:
> On Mon, May 16, 2005 at 10:24:41AM -0700, H. J. Lu wrote:
> > +typedef struct visibility GTY(())
> > +{
> > +  enum symbol_visibility value;
> > +} visibility;
> > +DEF_VEC_O (visibility);
> > +DEF_VEC_ALLOC_O (visibility, gc);
> > +static GTY(()) VEC (visibility, gc) *visstack;
> 
> Why is this being garbage collected?  Why is this a struct at all

I will change it to heap.

> and not just an enumeration?

Does VEC work on enumeration? I got

/net/gnu/export/gnu/src/gcc/gcc/gcc/c-pragma.c:716: unidentified type `visibility'

with

typedef enum symbol_visibility visibility;

or

/net/gnu/export/gnu/src/gcc/gcc/gcc/c-pragma.c:717: unidentified type
`symbol_visibility'

when I use symbol_visibility directly.

> 
> > +	      visibility_options.inpragma = VEC_length (visibility,
> > +							visstack);
> 
> VEC_length is not a boolean.
> 

I will fix that.


H.J.


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