1 // RUN: %clang_cc1 -templight-dump -std=c++14 %s 2>&1 | FileCheck %s
2 template <bool B>
f()3 void f() noexcept(B) {}
4 
main()5 int main()
6 {
7 
8 // CHECK-LABEL: {{^---$}}
9 // CHECK: {{^name:[ ]+f$}}
10 // CHECK: {{^kind:[ ]+ExplicitTemplateArgumentSubstitution$}}
11 // CHECK: {{^event:[ ]+Begin$}}
12 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
13 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
14 // CHECK-LABEL: {{^---$}}
15 // CHECK: {{^name:[ ]+f$}}
16 // CHECK: {{^kind:[ ]+ExplicitTemplateArgumentSubstitution$}}
17 // CHECK: {{^event:[ ]+End$}}
18 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
19 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
20 //
21 // CHECK-LABEL: {{^---$}}
22 // CHECK: {{^name:[ ]+f$}}
23 // CHECK: {{^kind:[ ]+DeducedTemplateArgumentSubstitution$}}
24 // CHECK: {{^event:[ ]+Begin$}}
25 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
26 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
27 // CHECK-LABEL: {{^---$}}
28 // CHECK: {{^name:[ ]+f$}}
29 // CHECK: {{^kind:[ ]+DeducedTemplateArgumentSubstitution$}}
30 // CHECK: {{^event:[ ]+End$}}
31 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
32 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
33 //
34 // CHECK-LABEL: {{^---$}}
35 // CHECK: {{^name:[ ]+'f<false>'$}}
36 // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
37 // CHECK: {{^event:[ ]+Begin$}}
38 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
39 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
40 // CHECK-LABEL: {{^---$}}
41 // CHECK: {{^name:[ ]+'f<false>'$}}
42 // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
43 // CHECK: {{^event:[ ]+End$}}
44 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
45 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
46 //
47 // CHECK-LABEL: {{^---$}}
48 // CHECK: {{^name:[ ]+'f<false>'$}}
49 // CHECK: {{^kind:[ ]+ExceptionSpecInstantiation$}}
50 // CHECK: {{^event:[ ]+Begin$}}
51 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
52 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
53 // CHECK-LABEL: {{^---$}}
54 // CHECK: {{^name:[ ]+'f<false>'$}}
55 // CHECK: {{^kind:[ ]+ExceptionSpecInstantiation$}}
56 // CHECK: {{^event:[ ]+End$}}
57 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
58 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
59 //
60 // CHECK-LABEL: {{^---$}}
61 // CHECK: {{^name:[ ]+'f<false>'$}}
62 // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
63 // CHECK: {{^event:[ ]+Begin$}}
64 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
65 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
66 // CHECK-LABEL: {{^---$}}
67 // CHECK: {{^name:[ ]+'f<false>'$}}
68 // CHECK: {{^kind:[ ]+TemplateInstantiation$}}
69 // CHECK: {{^event:[ ]+End$}}
70 // CHECK: {{^orig:[ ]+'.*templight-exception-spec-func.cpp:3:6'}}
71 // CHECK: {{^poi:[ ]+'.*templight-exception-spec-func.cpp:72:3'$}}
72   f<false>();
73 }
74