Clang Project

clang_source_code/test/Templight/templight-prior-template-arg.cpp
1// RUN: %clang_cc1 -templight-dump %s 2>&1 | FileCheck %s
2template<class T>
3class A {};
4
5template <template <class Inner> class Outer>
6class 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'$}}
72B<A> b;
73