Clang Project

clang_source_code/test/Templight/templight-default-template-arg.cpp
1// RUN: %clang_cc1 -templight-dump %s 2>&1 | FileCheck %s
2template <class T = int>
3class A {};
4
5// CHECK-LABEL: {{^---$}}
6// CHECK: {{^name:[ ]+'A::T'$}}
7// CHECK: {{^kind:[ ]+DefaultTemplateArgumentChecking$}}
8// CHECK: {{^event:[ ]+Begin$}}
9// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:2:17'}}
10// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:3'$}}
11// CHECK-LABEL: {{^---$}}
12// CHECK: {{^name:[ ]+'A::T'$}}
13// CHECK: {{^kind:[ ]+DefaultTemplateArgumentChecking$}}
14// CHECK: {{^event:[ ]+End$}}
15// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:2:17'}}
16// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:3'$}}
17//
18// CHECK-LABEL: {{^---$}}
19// CHECK: {{^name:[ ]+'A<int>'$}}
20// CHECK: {{^kind:[ ]+TemplateInstantiation$}}
21// CHECK: {{^event:[ ]+Begin$}}
22// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:3:7'}}
23// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:5'$}}
24// CHECK-LABEL: {{^---$}}
25// CHECK: {{^name:[ ]+'A<int>'$}}
26// CHECK: {{^kind:[ ]+TemplateInstantiation$}}
27// CHECK: {{^event:[ ]+End$}}
28// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:3:7'}}
29// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:5'$}}
30//
31// CHECK-LABEL: {{^---$}}
32// CHECK: {{^name:[ ]+'A<int>'$}}
33// CHECK: {{^kind:[ ]+TemplateInstantiation$}}
34// CHECK: {{^event:[ ]+Begin$}}
35// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:3:7'}}
36// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:5'$}}
37// CHECK-LABEL: {{^---$}}
38// CHECK: {{^name:[ ]+'A<int>'$}}
39// CHECK: {{^kind:[ ]+TemplateInstantiation$}}
40// CHECK: {{^event:[ ]+End$}}
41// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:3:7'}}
42// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:5'$}}
43//
44// CHECK-LABEL: {{^---$}}
45// CHECK: {{^name:[ ]+'A<int>'$}}
46// CHECK: {{^kind:[ ]+Memoization$}}
47// CHECK: {{^event:[ ]+Begin$}}
48// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:3:7'}}
49// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:5'$}}
50// CHECK-LABEL: {{^---$}}
51// CHECK: {{^name:[ ]+'A<int>'$}}
52// CHECK: {{^kind:[ ]+Memoization$}}
53// CHECK: {{^event:[ ]+End$}}
54// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:3:7'}}
55// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:5'$}}
56//
57// CHECK-LABEL: {{^---$}}
58// CHECK: {{^name:[ ]+'A<int>'$}}
59// CHECK: {{^kind:[ ]+Memoization$}}
60// CHECK: {{^event:[ ]+Begin$}}
61// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:3:7'}}
62// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:5'$}}
63// CHECK-LABEL: {{^---$}}
64// CHECK: {{^name:[ ]+'A<int>'$}}
65// CHECK: {{^kind:[ ]+Memoization$}}
66// CHECK: {{^event:[ ]+End$}}
67// CHECK: {{^orig:[ ]+'.*templight-default-template-arg.cpp:3:7'}}
68// CHECK: {{^poi:[ ]+'.*templight-default-template-arg.cpp:69:5'$}}
69A<> a;
70