Home | History | Annotate | Download | only in SemaTemplate
      1 // RUN: %clang_cc1 -fsyntax-only -Wall -verify %s
      2 // expected-no-diagnostics
      3 template<typename a> struct A {
      4   template <typename b> struct B {
      5     template <typename c> struct C {
      6       template <typename d> struct D {
      7         template <typename e> struct E {
      8           e field;
      9           E() : field(0) {
     10             d v1 = 4;
     11             c v2 = v1 * v1;
     12             b v3 = 8;
     13             a v4 = v3 * v3;
     14             field += v2 + v4;
     15           }
     16         };
     17       };
     18     };
     19   };
     20 };
     21 
     22 A<int>::B<int>::C<int>::D<int>::E<int> global;
     23 
     24 // PR5352
     25 template <typename T>
     26 class Foo {
     27 public:
     28   Foo() {}
     29 
     30   struct Bar {
     31     T value;
     32   };
     33 
     34   Bar u;
     35 };
     36 
     37 template class Foo<int>;
     38