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 | |