Home | History | Annotate | Download | only in Analysis
      1 // RUN: %clang_cc1 -analyze -analyzer-checker=debug.DumpCallGraph %s -fblocks 2>&1 | FileCheck %s
      2 
      3 static void mmm(int y) {
      4   if (y != 0)
      5       y++;
      6   y = y/y;
      7 }
      8 
      9 static int foo(int x, int y) {
     10     mmm(y);
     11     if (x != 0)
     12       x++;
     13     return 5/x;
     14 }
     15 
     16 void aaa() {
     17   foo(1,2);
     18 }
     19 
     20 void bbb(int y) {
     21   int x = (y > 2);
     22   ^ {
     23       foo(x, y);
     24   }();
     25 }
     26 
     27 // CHECK:--- Call graph Dump ---
     28 // CHECK: Function: < root > calls: mmm foo aaa < > bbb
     29 // CHECK: Function: bbb calls: < >
     30 // CHECK: Function: < > calls: foo
     31 // CHECK: Function: aaa calls: foo
     32 // CHECK: Function: foo calls: mmm
     33 // CHECK: Function: mmm calls:
     34