|  | // RUN: %clang_cc1 -templight-dump %s 2>&1 | FileCheck %s | 
|  | template<class T> | 
|  | class A {}; | 
|  |  | 
|  | template <template <class Inner> class Outer> | 
|  | class B {}; | 
|  |  | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B::Outer'$}} | 
|  | // CHECK: {{^kind:[ ]+PriorTemplateArgumentSubstitution$}} | 
|  | // CHECK: {{^event:[ ]+Begin$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:5:40'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:1'$}} | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B::Outer'$}} | 
|  | // CHECK: {{^kind:[ ]+PriorTemplateArgumentSubstitution$}} | 
|  | // CHECK: {{^event:[ ]+End$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:5:40'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:1'$}} | 
|  | // | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B::Outer'$}} | 
|  | // CHECK: {{^kind:[ ]+PartialOrderingTTP$}} | 
|  | // CHECK: {{^event:[ ]+Begin$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:5:40'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:3'$}} | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B::Outer'$}} | 
|  | // CHECK: {{^kind:[ ]+PartialOrderingTTP$}} | 
|  | // CHECK: {{^event:[ ]+End$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:5:40'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:3'$}} | 
|  | // | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B<A>'$}} | 
|  | // CHECK: {{^kind:[ ]+TemplateInstantiation$}} | 
|  | // CHECK: {{^event:[ ]+Begin$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:6'$}} | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B<A>'$}} | 
|  | // CHECK: {{^kind:[ ]+TemplateInstantiation$}} | 
|  | // CHECK: {{^event:[ ]+End$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:6'$}} | 
|  | // | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B<A>'$}} | 
|  | // CHECK: {{^kind:[ ]+TemplateInstantiation$}} | 
|  | // CHECK: {{^event:[ ]+Begin$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:6'$}} | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B<A>'$}} | 
|  | // CHECK: {{^kind:[ ]+TemplateInstantiation$}} | 
|  | // CHECK: {{^event:[ ]+End$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:6'$}} | 
|  | // | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B<A>'$}} | 
|  | // CHECK: {{^kind:[ ]+Memoization$}} | 
|  | // CHECK: {{^event:[ ]+Begin$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:6'$}} | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B<A>'$}} | 
|  | // CHECK: {{^kind:[ ]+Memoization$}} | 
|  | // CHECK: {{^event:[ ]+End$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:6'$}} | 
|  | // | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B<A>'$}} | 
|  | // CHECK: {{^kind:[ ]+Memoization$}} | 
|  | // CHECK: {{^event:[ ]+Begin$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:6'$}} | 
|  | // CHECK-LABEL: {{^---$}} | 
|  | // CHECK: {{^name:[ ]+'B<A>'$}} | 
|  | // CHECK: {{^kind:[ ]+Memoization$}} | 
|  | // CHECK: {{^event:[ ]+End$}} | 
|  | // CHECK: {{^orig:[ ]+'.*templight-prior-template-arg.cpp:6:7'}} | 
|  | // CHECK: {{^poi:[ ]+'.*templight-prior-template-arg.cpp:85:6'$}} | 
|  | B<A> b; |