1 // RUN: %clang_analyze_cc1 -analyzer-checker=debug.DumpCallGraph %s 2>&1 | FileCheck %s
2 
aaa()3 static int aaa() {
4   return 0;
5 }
6 
bbb(int param=aaa ())7 static int bbb(int param=aaa()) {
8   return 1;
9 }
10 
11 int ddd();
12 
13 struct c {
cc14   c(int param=2) : val(bbb(param)) {}
15   int val;
16   int val2 = ddd();
17 };
18 
ddd()19 int ddd() {
20   c c;
21   return bbb();
22 }
23 
24 // CHECK:--- Call graph Dump ---
25 // CHECK-NEXT: {{Function: < root > calls: aaa bbb c::c ddd}}
26 // CHECK-NEXT: {{Function: c::c calls: bbb ddd $}}
27 // CHECK-NEXT: {{Function: ddd calls: c::c bbb aaa $}}
28 // CHECK-NEXT: {{Function: bbb calls: $}}
29 // CHECK-NEXT: {{Function: aaa calls: $}}
30