1 | // RUN: %clang_cc1 -templight-dump %s 2>&1 | FileCheck %s |
2 | template<class T> |
3 | class A {}; |
4 | |
5 | template <template <class Inner> class Outer> |
6 | class B {}; |
7 | |
8 | // CHECK-LABEL: {{^---$}} |
9 | // CHECK: {{^name:[ ]+'B::Outer'$}} |
10 | // CHECK: {{^kind:[ ]+PriorTemplateArgumentSubstitution$}} |
11 | // CHECK: {{^event:[ ]+Begin$}} |
12 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:5:40'}} |
13 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:1'$}} |
14 | // CHECK-LABEL: {{^---$}} |
15 | // CHECK: {{^name:[ ]+'B::Outer'$}} |
16 | // CHECK: {{^kind:[ ]+PriorTemplateArgumentSubstitution$}} |
17 | // CHECK: {{^event:[ ]+End$}} |
18 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:5:40'}} |
19 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:1'$}} |
20 | // |
21 | // CHECK-LABEL: {{^---$}} |
22 | // CHECK: {{^name:[ ]+'B<A>'$}} |
23 | // CHECK: {{^kind:[ ]+TemplateInstantiation$}} |
24 | // CHECK: {{^event:[ ]+Begin$}} |
25 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} |
26 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:6'$}} |
27 | // CHECK-LABEL: {{^---$}} |
28 | // CHECK: {{^name:[ ]+'B<A>'$}} |
29 | // CHECK: {{^kind:[ ]+TemplateInstantiation$}} |
30 | // CHECK: {{^event:[ ]+End$}} |
31 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} |
32 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:6'$}} |
33 | // |
34 | // CHECK-LABEL: {{^---$}} |
35 | // CHECK: {{^name:[ ]+'B<A>'$}} |
36 | // CHECK: {{^kind:[ ]+TemplateInstantiation$}} |
37 | // CHECK: {{^event:[ ]+Begin$}} |
38 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} |
39 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:6'$}} |
40 | // CHECK-LABEL: {{^---$}} |
41 | // CHECK: {{^name:[ ]+'B<A>'$}} |
42 | // CHECK: {{^kind:[ ]+TemplateInstantiation$}} |
43 | // CHECK: {{^event:[ ]+End$}} |
44 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} |
45 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:6'$}} |
46 | // |
47 | // CHECK-LABEL: {{^---$}} |
48 | // CHECK: {{^name:[ ]+'B<A>'$}} |
49 | // CHECK: {{^kind:[ ]+Memoization$}} |
50 | // CHECK: {{^event:[ ]+Begin$}} |
51 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} |
52 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:6'$}} |
53 | // CHECK-LABEL: {{^---$}} |
54 | // CHECK: {{^name:[ ]+'B<A>'$}} |
55 | // CHECK: {{^kind:[ ]+Memoization$}} |
56 | // CHECK: {{^event:[ ]+End$}} |
57 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} |
58 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:6'$}} |
59 | // |
60 | // CHECK-LABEL: {{^---$}} |
61 | // CHECK: {{^name:[ ]+'B<A>'$}} |
62 | // CHECK: {{^kind:[ ]+Memoization$}} |
63 | // CHECK: {{^event:[ ]+Begin$}} |
64 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} |
65 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:6'$}} |
66 | // CHECK-LABEL: {{^---$}} |
67 | // CHECK: {{^name:[ ]+'B<A>'$}} |
68 | // CHECK: {{^kind:[ ]+Memoization$}} |
69 | // CHECK: {{^event:[ ]+End$}} |
70 | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} |
71 | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:72:6'$}} |
72 | B<A> b; |
73 | |