Mercurial > hg > CbC > CbC_llvm
comparison clang/test/SemaTemplate/instantiate-deeply.cpp @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
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>; |