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) ?

> +// { 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

Reply via email to