// { dg-do assemble } template struct A { int operator [] (int); }; template int A::operator[] (int j) { return j * j; } extern A avpp; int q () { return avpp[99]; }