summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis
diff options
context:
space:
mode:
authorArtem Dergachev <artem.dergachev@gmail.com>2017-01-27 12:14:56 +0000
committerArtem Dergachev <artem.dergachev@gmail.com>2017-01-27 12:14:56 +0000
commit12caf8e1e6759d8ced7dbd40ca1bd8efe9e7bbae (patch)
tree81d1f24772baf771d0eb02acb8cafa4c78f40602 /clang/test/Analysis
parentca74dd79e9d9717eca44ecc0005f643d5fc102fc (diff)
downloadbcm5719-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.c17
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: $}}
OpenPOWER on IntegriCloud