Home | History | Annotate | Download | only in SemaTemplate
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 template<typename T> struct A {
      3   struct B { };
      4 
      5   friend struct B;
      6 };
      7 
      8 void f() {
      9   A<int>::B b;
     10 }
     11 
     12 struct C0 {
     13   friend struct A<int>;
     14 };
     15 
     16 namespace PR6770 {
     17   namespace N {
     18     int f1(int);
     19   }
     20   using namespace N;
     21 
     22   namespace M {
     23     float f1(float);
     24   }
     25   using M::f1;
     26 
     27   template<typename T> void f1(T, T);
     28   template <class T>
     29   void f() {
     30     friend class f; // expected-error{{'friend' used outside of class}}
     31     friend class f1; // expected-error{{'friend' used outside of class}}
     32   }
     33 }
     34