1 // RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s
2 namespace N1 {
3 
4   template<typename T> struct X0 { }; // expected-note{{here}}
5 
6   namespace Inner {
7     template<typename T> struct X1 { };
8   }
9 
10   template struct X0<int>;
11   template struct Inner::X1<int>;
12 }
13 
14 template<typename T> struct X2 { }; // expected-note{{here}}
15 
16 template struct ::N1::Inner::X1<float>;
17 
18 namespace N2 {
19   using namespace N1;
20 
21   template struct X0<double>; // expected-error{{must occur in namespace 'N1'}}
22 
23   template struct X2<float>; // expected-error{{at global scope}}
24 }
25