// { dg-do assemble  }

class OBJECT {int a;};
class STDFILE {int b;};

template <class T> class VECTOR {
    T *v;
    int sz;
public:
    T& elem(int i) { return v[i]; }
    T& operator[] (int i);
};

template <class T>
class PVECTOR : VECTOR<void *> {
public:
    T*& elem(int i)
        {return (T*&) VECTOR<void *>::elem(i); }
    T*& operator[] (int i)
        {return (T*&) VECTOR<void *>::operator[](i);}
};

PVECTOR<OBJECT *> *foo;

PVECTOR<STDFILE *> *goo;
