// PR c++/81247 ICE
namespace N // { dg-message "previous declaration" }
// { dg-error "expected" "" { target *-*-* } .+1 }
template < typename T > class A
{ // { dg-error "redeclared as different" }
template < T > friend class N;
};
void f ()
{
A < int > a1; // { dg-message "required from here" }
}