// { dg-do compile }

// Copyright (C) 2004 Free Software Foundation
// Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

// Nested class of class template as friend

template<class T> struct A
{
  struct B1
  {
  };
  struct B2
  {
    void f();
  };
};

class C {
  int i;	// { dg-message "private" }
  template<class T> friend struct A<T>::B1;
};

template<class T> void A<T>::B2::f()
{
  C c;
  c.i = 0;	// { dg-error "context" }
}

int main()
{
  A<int>::B2 b1;
  b1.f();	// { dg-message "required" }
}
