// { dg-do assemble } // Origin: Ian Nixon class Action { public: virtual void action () = 0; }; class Var { public: template void Add() { struct tmp : public Action { void action () {} }; tmp *tp = new tmp; } };