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