This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: PR middle-end/20303: Can't push more than 16 nested visibility
- From: "H. J. Lu" <hjl at lucon dot org>
- To: Richard Henderson <rth at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 17 May 2005 11:01:27 -0700
- Subject: Re: PATCH: PR middle-end/20303: Can't push more than 16 nested visibility
- References: <20050516172441.GA5941@lucon.org> <20050517035304.GJ31389@redhat.com>
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.