// { dg-do assemble } // Origin: Ian Nixon <ian@tharas.com> class Action { public: virtual void action () = 0; }; class Var { public: template<class Base> void Add() { struct tmp : public Action { void action () {} }; tmp *tp = new tmp; } };