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