1*207e7b1fSGabor Horvath // RUN: %clang_cc1 -templight-dump %s 2>&1 | FileCheck %s 2*207e7b1fSGabor Horvath template <class T> f()3*207e7b1fSGabor Horvathvoid f(){} 4*207e7b1fSGabor Horvath main()5*207e7b1fSGabor Horvathint 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