123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- // RUN: %clang_cc1 -templight-dump %s 2>&1 | FileCheck %s
- template <int N>
- struct foo : foo<N - 1> {};
- template <>
- struct foo<0> {};
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<2>'$}}
- // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
- // CHECK: {{^event:[ ]+Begin$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:84:8'$}}
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<2>'$}}
- // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
- // CHECK: {{^event:[ ]+End$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:84:8'$}}
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<2>'$}}
- // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
- // CHECK: {{^event:[ ]+Begin$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:84:8'$}}
- //
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<1>'$}}
- // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
- // CHECK: {{^event:[ ]+Begin$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:4:14'$}}
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<1>'$}}
- // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
- // CHECK: {{^event:[ ]+End$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:4:14'$}}
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<1>'$}}
- // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
- // CHECK: {{^event:[ ]+Begin$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:4:14'$}}
- //
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<0>'$}}
- // CHECK: {{^kind:[ ]+Memoization$}}
- // CHECK: {{^event:[ ]+Begin$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:7:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:4:14'$}}
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<0>'$}}
- // CHECK: {{^kind:[ ]+Memoization$}}
- // CHECK: {{^event:[ ]+End$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:7:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:4:14'$}}
- //
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<1>'$}}
- // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
- // CHECK: {{^event:[ ]+End$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:4:14'$}}
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<1>'$}}
- // CHECK: {{^kind:[ ]+Memoization$}}
- // CHECK: {{^event:[ ]+Begin$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:4:14'$}}
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<1>'$}}
- // CHECK: {{^kind:[ ]+Memoization$}}
- // CHECK: {{^event:[ ]+End$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:4:14'$}}
- // CHECK-LABEL: {{^---$}}
- // CHECK: {{^name:[ ]+'foo<2>'$}}
- // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
- // CHECK: {{^event:[ ]+End$}}
- // CHECK: {{^orig:[ ]+'.*templight-nested-template-instantiation.cpp:4:8'}}
- // CHECK: {{^poi:[ ]+'.*templight-nested-template-instantiation.cpp:84:8'$}}
- foo<2> x;
|