forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			30 lines
		
	
	
		
			591 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			591 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_analyze_cc1 -analyzer-checker=debug.DumpCallGraph %s 2>&1 | FileCheck %s
 | |
| 
 | |
| static int aaa() {
 | |
|   return 0;
 | |
| }
 | |
| 
 | |
| static int bbb(int param=aaa()) {
 | |
|   return 1;
 | |
| }
 | |
| 
 | |
| int ddd();
 | |
| 
 | |
| struct c {
 | |
|   c(int param=2) : val(bbb(param)) {}
 | |
|   int val;
 | |
|   int val2 = ddd();
 | |
| };
 | |
| 
 | |
| int ddd() {
 | |
|   c c;
 | |
|   return bbb();
 | |
| }
 | |
| 
 | |
| // CHECK:--- Call graph Dump ---
 | |
| // CHECK-NEXT: {{Function: < root > calls: aaa bbb c::c ddd}}
 | |
| // CHECK-NEXT: {{Function: c::c calls: bbb ddd $}}
 | |
| // CHECK-NEXT: {{Function: ddd calls: c::c bbb aaa $}}
 | |
| // CHECK-NEXT: {{Function: bbb calls: $}}
 | |
| // CHECK-NEXT: {{Function: aaa calls: $}}
 |