// { dg-do assemble } // Origin: Neil Booth, from PR #78 namespace MySpace { class Tag1 { }; class Tag2 { }; template class Object { public: friend void Forgotten(Object const & m) {} }; typedef Object U1; typedef Object U2; void foo() { Forgotten(U1()); Forgotten(U2()); } void bar() { Forgotten(U1()); } }