1*207e7b1fSGabor Horvath // RUN: %clang_cc1 -templight-dump %s 2>&1 | FileCheck %s
2*207e7b1fSGabor Horvath template <class T>
f()3*207e7b1fSGabor Horvath void f(){}
4*207e7b1fSGabor Horvath 
main()5*207e7b1fSGabor Horvath int main()
6*207e7b1fSGabor Horvath {
7*207e7b1fSGabor Horvath // CHECK-LABEL: {{^---$}}
8*207e7b1fSGabor Horvath // CHECK: {{^name:[ ]+f$}}
9*207e7b1fSGabor Horvath // CHECK: {{^kind:[ ]+ExplicitTemplateArgumentSubstitution$}}
10*207e7b1fSGabor Horvath // CHECK: {{^event:[ ]+Begin$}}
11*207e7b1fSGabor Horvath // CHECK: {{^orig:[ ]+'.*templight-explicit-template-arg.cpp:3:6'}}
12*207e7b1fSGabor Horvath // CHECK: {{^poi:[ ]+'.*templight-explicit-template-arg.cpp:58:3'$}}
13*207e7b1fSGabor Horvath // CHECK-LABEL: {{^---$}}
14*207e7b1fSGabor Horvath // CHECK: {{^name:[ ]+f$}}
15*207e7b1fSGabor Horvath // CHECK: {{^kind:[ ]+ExplicitTemplateArgumentSubstitution$}}
16*207e7b1fSGabor Horvath // CHECK: {{^event:[ ]+End$}}
17*207e7b1fSGabor Horvath // CHECK: {{^orig:[ ]+'.*templight-explicit-template-arg.cpp:3:6'}}
18*207e7b1fSGabor Horvath // CHECK: {{^poi:[ ]+'.*templight-explicit-template-arg.cpp:58:3'$}}
19*207e7b1fSGabor Horvath //
20*207e7b1fSGabor Horvath // CHECK-LABEL: {{^---$}}
21*207e7b1fSGabor Horvath // CHECK: {{^name:[ ]+f$}}
22*207e7b1fSGabor Horvath // CHECK: {{^kind:[ ]+DeducedTemplateArgumentSubstitution$}}
23*207e7b1fSGabor Horvath // CHECK: {{^event:[ ]+Begin$}}
24*207e7b1fSGabor Horvath // CHECK: {{^orig:[ ]+'.*templight-explicit-template-arg.cpp:3:6'}}
25*207e7b1fSGabor Horvath // CHECK: {{^poi:[ ]+'.*templight-explicit-template-arg.cpp:58:3'$}}
26*207e7b1fSGabor Horvath // CHECK-LABEL: {{^---$}}
27*207e7b1fSGabor Horvath // CHECK: {{^name:[ ]+f$}}
28*207e7b1fSGabor Horvath // CHECK: {{^kind:[ ]+DeducedTemplateArgumentSubstitution$}}
29*207e7b1fSGabor Horvath // CHECK: {{^event:[ ]+End$}}
30*207e7b1fSGabor Horvath // CHECK: {{^orig:[ ]+'.*templight-explicit-template-arg.cpp:3:6'}}
31*207e7b1fSGabor Horvath // CHECK: {{^poi:[ ]+'.*templight-explicit-template-arg.cpp:58:3'$}}
32*207e7b1fSGabor Horvath //
33*207e7b1fSGabor Horvath // CHECK-LABEL: {{^---$}}
34*207e7b1fSGabor Horvath // CHECK: {{^name:[ ]+'f<int>'$}}
35*207e7b1fSGabor Horvath // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
36*207e7b1fSGabor Horvath // CHECK: {{^event:[ ]+Begin$}}
37*207e7b1fSGabor Horvath // CHECK: {{^orig:[ ]+'.*templight-explicit-template-arg.cpp:3:6'}}
38*207e7b1fSGabor Horvath // CHECK: {{^poi:[ ]+'.*templight-explicit-template-arg.cpp:58:3'$}}
39*207e7b1fSGabor Horvath // CHECK-LABEL: {{^---$}}
40*207e7b1fSGabor Horvath // CHECK: {{^name:[ ]+'f<int>'$}}
41*207e7b1fSGabor Horvath // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
42*207e7b1fSGabor Horvath // CHECK: {{^event:[ ]+End$}}
43*207e7b1fSGabor Horvath // CHECK: {{^orig:[ ]+'.*templight-explicit-template-arg.cpp:3:6'}}
44*207e7b1fSGabor Horvath // CHECK: {{^poi:[ ]+'.*templight-explicit-template-arg.cpp:58:3'$}}
45*207e7b1fSGabor Horvath //
46*207e7b1fSGabor Horvath // CHECK-LABEL: {{^---$}}
47*207e7b1fSGabor Horvath // CHECK: {{^name:[ ]+'f<int>'$}}
48*207e7b1fSGabor Horvath // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
49*207e7b1fSGabor Horvath // CHECK: {{^event:[ ]+Begin$}}
50*207e7b1fSGabor Horvath // CHECK: {{^orig:[ ]+'.*templight-explicit-template-arg.cpp:3:6'}}
51*207e7b1fSGabor Horvath // CHECK: {{^poi:[ ]+'.*templight-explicit-template-arg.cpp:58:3'$}}
52*207e7b1fSGabor Horvath // CHECK-LABEL: {{^---$}}
53*207e7b1fSGabor Horvath // CHECK: {{^name:[ ]+'f<int>'$}}
54*207e7b1fSGabor Horvath // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
55*207e7b1fSGabor Horvath // CHECK: {{^event:[ ]+End$}}
56*207e7b1fSGabor Horvath // CHECK: {{^orig:[ ]+'.*templight-explicit-template-arg.cpp:3:6'}}
57*207e7b1fSGabor Horvath // CHECK: {{^poi:[ ]+'.*templight-explicit-template-arg.cpp:58:3'$}}
58*207e7b1fSGabor Horvath   f<int>();
59*207e7b1fSGabor Horvath }
60