// { dg-do assemble } // Origin: Loring Holden <lsh@cs.brown.edu> template <class V> class _vec3d { public: double _x, _y; }; class Wvec : public _vec3d<int> { }; template <class T> class TDI { public: T &get(); }; template <class T> class hashvar { public : T _val; TDI<T> *val() const; T get() const { return true ? val()->get() : _val; } }; int main() { hashvar<Wvec> CONSTRAINT_DIR; CONSTRAINT_DIR.get(); }