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