blob: cceaed00e69da7ad1e17f92e8c313c3c433f1775 [file] [log] [blame]
Douglas Gregore919fb02009-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;
Douglas Gregor8d717432009-05-27 17:20:35 +000012 static enum { K2Val = sizeof(T)*2 } Kind2;
Douglas Gregore919fb02009-05-27 17:07:49 +000013
14 void foo() {
15 K1 k1 = K1Val;
16 Kind1 = K1Val;
17 Outer::Inner::InnerTemplate<type>::VeryInner::Kind2 = K2Val;
18 }
19 };
20 };
21 };
22 };
23}
24
25typedef int INT;
26template struct N::Outer::Inner::InnerTemplate<INT>::VeryInner;