1f4a2713aSLionel Sambuc // RUN: %clang_cc1 -analyze -analyzer-checker=debug.DumpCallGraph %s -fblocks 2>&1 | FileCheck %s 2f4a2713aSLionel Sambuc mmm(int y)3f4a2713aSLionel Sambucstatic void mmm(int y) { 4f4a2713aSLionel Sambuc if (y != 0) 5f4a2713aSLionel Sambuc y++; 6f4a2713aSLionel Sambuc y = y/y; 7f4a2713aSLionel Sambuc } 8f4a2713aSLionel Sambuc foo(int x,int y)9f4a2713aSLionel Sambucstatic int foo(int x, int y) { 10f4a2713aSLionel Sambuc mmm(y); 11f4a2713aSLionel Sambuc if (x != 0) 12f4a2713aSLionel Sambuc x++; 13f4a2713aSLionel Sambuc return 5/x; 14f4a2713aSLionel Sambuc } 15f4a2713aSLionel Sambuc aaa()16f4a2713aSLionel Sambucvoid aaa() { 17f4a2713aSLionel Sambuc foo(1,2); 18f4a2713aSLionel Sambuc } 19f4a2713aSLionel Sambuc bbb(int y)20f4a2713aSLionel Sambucvoid bbb(int y) { 21f4a2713aSLionel Sambuc int x = (y > 2); 22f4a2713aSLionel Sambuc ^ { 23f4a2713aSLionel Sambuc foo(x, y); 24f4a2713aSLionel Sambuc }(); 25f4a2713aSLionel Sambuc } 26*0a6a1f1dSLionel Sambuc void ccc(); ddd()27*0a6a1f1dSLionel Sambucvoid ddd() { ccc(); } ccc()28*0a6a1f1dSLionel Sambucvoid ccc() {} 29*0a6a1f1dSLionel Sambuc 30*0a6a1f1dSLionel Sambuc void eee(); eee()31*0a6a1f1dSLionel Sambucvoid eee() {} fff()32*0a6a1f1dSLionel Sambucvoid fff() { eee(); } 33f4a2713aSLionel Sambuc 34f4a2713aSLionel Sambuc // CHECK:--- Call graph Dump --- 35*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: < root > calls: mmm foo aaa < > bbb ccc ddd eee fff $}} 36*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: fff calls: eee $}} 37*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: eee calls: $}} 38*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: ddd calls: ccc $}} 39*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: ccc calls: $}} 40*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: bbb calls: < > $}} 41*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: < > calls: foo $}} 42*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: aaa calls: foo $}} 43*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: foo calls: mmm $}} 44*0a6a1f1dSLionel Sambuc // CHECK-NEXT: {{Function: mmm calls: $}} 45