Fix ICE in initialize_node_lattices

Jan Hubicka hubicka@ucw.cz
Thu Mar 10 16:33:00 GMT 2016


> On Thu, Mar 10, 2016 at 05:12:59PM +0100, Jan Hubicka wrote:
> > --- testsuite/g++.dg/lto/pr69589_0.C	(revision 0)
> > +++ testsuite/g++.dg/lto/pr69589_0.C	(working copy)
> > @@ -0,0 +1,26 @@
> > +// { dg-lto-do link }
> > +// { dg-lto-options "-O2 -rdynamic" } 
> 
> Shouldn't this have
> // { dg-require-visibility "hidden" }
> when it uses the visibility push(hidden) ?

You are right, I will add it to the testcase.

Honza
> 
> > +// { dg-extra-ld-options "-r -nostdlib" }
> > +#pragma GCC visibility push(hidden)
> > +struct A { int &operator[] (long); };
> > +template <typename> struct B;
> > +template <typename T, typename = B<T> >
> > +using Z = int;
> > +template <typename> struct C;
> > +struct S {
> > +  int e;
> > +  virtual ~S () {}
> > +};
> > +struct D : S {
> > +  A a;
> > +  long i;
> > +  D() { { e ? &a[i] : nullptr; } }
> > +};
> > +template <>
> > +struct C<int> { Z<S> m8 () const; };
> > +Z<S>
> > +C<int>::m8 () const
> > +{
> > +  D ();
> > +}
> 
> 	Jakub



More information about the Gcc-patches mailing list