1// { dg-do assemble  }
2
3template <class X> struct A { int operator [] (int); };
4template <class Y> int A<Y>::operator[] (int j) { return j * j; }
5
6extern A<void **> avpp;
7
8int q () { return avpp[99]; }
9