diff options
| author | Artem Dergachev <artem.dergachev@gmail.com> | 2017-01-27 12:14:56 +0000 |
|---|---|---|
| committer | Artem Dergachev <artem.dergachev@gmail.com> | 2017-01-27 12:14:56 +0000 |
| commit | 12caf8e1e6759d8ced7dbd40ca1bd8efe9e7bbae (patch) | |
| tree | 81d1f24772baf771d0eb02acb8cafa4c78f40602 /clang/test/Analysis | |
| parent | ca74dd79e9d9717eca44ecc0005f643d5fc102fc (diff) | |
| download | bcm5719-llvm-12caf8e1e6759d8ced7dbd40ca1bd8efe9e7bbae.tar.gz bcm5719-llvm-12caf8e1e6759d8ced7dbd40ca1bd8efe9e7bbae.zip | |
[analyzer] Consider function call arguments while building CallGraph.
Function call can appear in the arguments of another function call, eg.:
foo(bar());
This patch adds support for such cases.
Patch by Ivan Sidorenko!
Differential revision: https://reviews.llvm.org/D28905
llvm-svn: 293280
Diffstat (limited to 'clang/test/Analysis')
| -rw-r--r-- | clang/test/Analysis/debug-CallGraph.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/clang/test/Analysis/debug-CallGraph.c b/clang/test/Analysis/debug-CallGraph.c index 64259e2069a..686abb06e73 100644 --- a/clang/test/Analysis/debug-CallGraph.c +++ b/clang/test/Analysis/debug-CallGraph.c @@ -1,5 +1,17 @@ // RUN: %clang_cc1 -analyze -analyzer-checker=debug.DumpCallGraph %s -fblocks 2>&1 | FileCheck %s +int get5() { + return 5; +} + +int add(int val1, int val2) { + return val1 + val2; +} + +int test_add() { + return add(10, get5()); +} + static void mmm(int y) { if (y != 0) y++; @@ -32,7 +44,7 @@ void eee() {} void fff() { eee(); } // CHECK:--- Call graph Dump --- -// CHECK-NEXT: {{Function: < root > calls: mmm foo aaa < > bbb ccc ddd eee fff $}} +// CHECK-NEXT: {{Function: < root > calls: get5 add test_add mmm foo aaa < > bbb ccc ddd eee fff $}} // CHECK-NEXT: {{Function: fff calls: eee $}} // CHECK-NEXT: {{Function: eee calls: $}} // CHECK-NEXT: {{Function: ddd calls: ccc $}} @@ -42,3 +54,6 @@ void fff() { eee(); } // CHECK-NEXT: {{Function: aaa calls: foo $}} // CHECK-NEXT: {{Function: foo calls: mmm $}} // CHECK-NEXT: {{Function: mmm calls: $}} +// CHECK-NEXT: {{Function: test_add calls: add get5 $}} +// CHECK-NEXT: {{Function: add calls: $}} +// CHECK-NEXT: {{Function: get5 calls: $}} |

