blob: 2512df15b13fbf88a514cd28ee93f8bd66ae9218 [file] [log] [blame]
Douglas Gregor2bba76b2009-05-27 17:07:49 +00001// RUN: clang-cc -fsyntax-only %s
2
3namespace N {
4 struct Outer {
5 struct Inner {
6 template<typename T>
7 struct InnerTemplate {
8 struct VeryInner {
9 typedef T type;
10
11 static enum K1 { K1Val = sizeof(T) } Kind1;
12 // FIXME: Remove the name K2, below
13 static enum K2 { K2Val = sizeof(T)*2 } Kind2;
14
15 void foo() {
16 K1 k1 = K1Val;
17 Kind1 = K1Val;
18 Outer::Inner::InnerTemplate<type>::VeryInner::Kind2 = K2Val;
19 }
20 };
21 };
22 };
23 };
24}
25
26typedef int INT;
27template struct N::Outer::Inner::InnerTemplate<INT>::VeryInner;