Skip to content

Commit 83c6c81

Browse files
committed
C++: Update expected test output
1 parent 484cce6 commit 83c6c81

8 files changed

Lines changed: 193 additions & 187 deletions

File tree

cpp/ql/test/library-tests/dataflow/fields/complex.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,6 @@ void sink(int x)
3939

4040
void bar(Outer &b)
4141
{
42-
// The library correctly finds that the four `user_input` sources can make it
43-
// to the `sink` calls, but it also finds some source/sink combinations that
44-
// are impossible. Those false positives here are a consequence of how the
45-
// shared data flow library overapproximates field flow. The library only
46-
// tracks the final two fields (`f` and `inner`) and the length (3) of the field
47-
// access path, and then it tracks that both `a_` and `b_` have followed `f.inner`
48-
// in _some_ access path somewhere in the search. That makes the library conclude
49-
// that there could be flow to `b.inner.f.a_` even when the flow was actually to
50-
// `b.inner.f.b_`.
5142
sink(b.inner.f.a()); // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19
5243
sink(b.inner.f.b()); // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19
5344
}

cpp/ql/test/library-tests/dataflow/fields/flow-diff.expected

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@
2626
| by_reference.cpp:88:13:88:22 | call to user_input | by_reference.cpp:135:27:135:27 | a | AST only |
2727
| by_reference.cpp:96:8:96:17 | call to user_input | by_reference.cpp:132:14:132:14 | a | AST only |
2828
| by_reference.cpp:96:8:96:17 | call to user_input | by_reference.cpp:136:16:136:16 | a | AST only |
29-
| complex.cpp:62:19:62:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | AST only |
30-
| complex.cpp:63:19:63:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | AST only |
31-
| complex.cpp:64:19:64:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | AST only |
32-
| complex.cpp:65:19:65:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | AST only |
3329
| qualifiers.cpp:22:27:22:36 | call to user_input | qualifiers.cpp:23:23:23:23 | a | AST only |
3430
| qualifiers.cpp:27:28:27:37 | call to user_input | qualifiers.cpp:28:23:28:23 | a | AST only |
3531
| qualifiers.cpp:32:35:32:44 | call to user_input | qualifiers.cpp:33:23:33:23 | a | AST only |
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
| complex.cpp:42:18:42:18 | call to a | Unexpected result: ast=53:19 |
2+
| complex.cpp:42:18:42:18 | call to a | Unexpected result: ast=55:19 |
3+
| complex.cpp:42:24:42:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Fixed false positive:ast=63:19 |
4+
| complex.cpp:42:24:42:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Fixed false positive:ast=65:19 |
5+
| complex.cpp:42:24:42:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Missing result:ast=62:19 |
6+
| complex.cpp:42:24:42:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Missing result:ast=64:19 |
7+
| complex.cpp:43:18:43:18 | call to b | Unexpected result: ast=54:19 |
8+
| complex.cpp:43:18:43:18 | call to b | Unexpected result: ast=56:19 |
9+
| complex.cpp:43:24:43:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Fixed false positive:ast=62:19 |
10+
| complex.cpp:43:24:43:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Fixed false positive:ast=64:19 |
11+
| complex.cpp:43:24:43:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Missing result:ast=63:19 |
12+
| complex.cpp:43:24:43:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Missing result:ast=65:19 |
Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
| complex.cpp:51:24:51:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Fixed false positive:ir=63:19 |
2-
| complex.cpp:51:24:51:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Fixed false positive:ir=65:19 |
3-
| complex.cpp:52:24:52:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Fixed false positive:ir=62:19 |
4-
| complex.cpp:52:24:52:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Fixed false positive:ir=64:19 |
1+
| complex.cpp:42:18:42:18 | call to a | Unexpected result: ir=53:19 |
2+
| complex.cpp:42:18:42:18 | call to a | Unexpected result: ir=55:19 |
3+
| complex.cpp:42:24:42:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Fixed false positive:ir=63:19 |
4+
| complex.cpp:42:24:42:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Fixed false positive:ir=65:19 |
5+
| complex.cpp:42:24:42:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Missing result:ir=62:19 |
6+
| complex.cpp:42:24:42:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Missing result:ir=64:19 |
7+
| complex.cpp:43:18:43:18 | call to b | Unexpected result: ir=54:19 |
8+
| complex.cpp:43:18:43:18 | call to b | Unexpected result: ir=56:19 |
9+
| complex.cpp:43:24:43:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Fixed false positive:ir=62:19 |
10+
| complex.cpp:43:24:43:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Fixed false positive:ir=64:19 |
11+
| complex.cpp:43:24:43:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Missing result:ir=63:19 |
12+
| complex.cpp:43:24:43:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Missing result:ir=65:19 |

cpp/ql/test/library-tests/dataflow/fields/ir-path-flow.expected

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -88,28 +88,28 @@ edges
8888
| by_reference.cpp:122:21:122:38 | taint_inner_a_ref output argument [a] | by_reference.cpp:122:21:122:38 | Chi [a] |
8989
| by_reference.cpp:126:21:126:40 | Chi [a] | by_reference.cpp:134:29:134:29 | a |
9090
| by_reference.cpp:126:21:126:40 | taint_inner_a_ref output argument [a] | by_reference.cpp:126:21:126:40 | Chi [a] |
91-
| complex.cpp:40:17:40:17 | *b [a_] | complex.cpp:51:16:51:16 | Argument -1 indirection [a_] |
92-
| complex.cpp:40:17:40:17 | *b [b_] | complex.cpp:51:16:51:16 | Argument -1 indirection [b_] |
93-
| complex.cpp:40:17:40:17 | *b [b_] | complex.cpp:52:16:52:16 | Argument -1 indirection [b_] |
94-
| complex.cpp:51:16:51:16 | Argument -1 indirection [a_] | complex.cpp:51:18:51:18 | call to a |
95-
| complex.cpp:51:16:51:16 | Argument -1 indirection [b_] | complex.cpp:51:16:51:16 | a output argument [b_] |
96-
| complex.cpp:51:16:51:16 | a output argument [b_] | complex.cpp:52:16:52:16 | Argument -1 indirection [b_] |
97-
| complex.cpp:52:16:52:16 | Argument -1 indirection [b_] | complex.cpp:52:18:52:18 | call to b |
98-
| complex.cpp:62:12:62:12 | setA output argument [a_] | complex.cpp:68:7:68:8 | Argument 0 indirection [a_] |
99-
| complex.cpp:62:19:62:28 | call to user_input | complex.cpp:62:12:62:12 | setA output argument [a_] |
100-
| complex.cpp:63:12:63:12 | setB output argument [b_] | complex.cpp:71:7:71:8 | Argument 0 indirection [b_] |
101-
| complex.cpp:63:19:63:28 | call to user_input | complex.cpp:63:12:63:12 | setB output argument [b_] |
102-
| complex.cpp:64:12:64:12 | setA output argument [a_] | complex.cpp:65:12:65:12 | Argument -1 indirection [a_] |
103-
| complex.cpp:64:12:64:12 | setA output argument [a_] | complex.cpp:74:7:74:8 | Argument 0 indirection [a_] |
104-
| complex.cpp:64:19:64:28 | call to user_input | complex.cpp:64:12:64:12 | setA output argument [a_] |
105-
| complex.cpp:65:12:65:12 | Argument -1 indirection [a_] | complex.cpp:65:12:65:12 | setB output argument [a_] |
106-
| complex.cpp:65:12:65:12 | setB output argument [a_] | complex.cpp:74:7:74:8 | Argument 0 indirection [a_] |
107-
| complex.cpp:65:12:65:12 | setB output argument [b_] | complex.cpp:74:7:74:8 | Argument 0 indirection [b_] |
108-
| complex.cpp:65:19:65:28 | call to user_input | complex.cpp:65:12:65:12 | setB output argument [b_] |
109-
| complex.cpp:68:7:68:8 | Argument 0 indirection [a_] | complex.cpp:40:17:40:17 | *b [a_] |
110-
| complex.cpp:71:7:71:8 | Argument 0 indirection [b_] | complex.cpp:40:17:40:17 | *b [b_] |
111-
| complex.cpp:74:7:74:8 | Argument 0 indirection [a_] | complex.cpp:40:17:40:17 | *b [a_] |
112-
| complex.cpp:74:7:74:8 | Argument 0 indirection [b_] | complex.cpp:40:17:40:17 | *b [b_] |
91+
| complex.cpp:40:17:40:17 | *b [a_] | complex.cpp:42:16:42:16 | Argument -1 indirection [a_] |
92+
| complex.cpp:40:17:40:17 | *b [b_] | complex.cpp:42:16:42:16 | Argument -1 indirection [b_] |
93+
| complex.cpp:40:17:40:17 | *b [b_] | complex.cpp:43:16:43:16 | Argument -1 indirection [b_] |
94+
| complex.cpp:42:16:42:16 | Argument -1 indirection [a_] | complex.cpp:42:18:42:18 | call to a |
95+
| complex.cpp:42:16:42:16 | Argument -1 indirection [b_] | complex.cpp:42:16:42:16 | a output argument [b_] |
96+
| complex.cpp:42:16:42:16 | a output argument [b_] | complex.cpp:43:16:43:16 | Argument -1 indirection [b_] |
97+
| complex.cpp:43:16:43:16 | Argument -1 indirection [b_] | complex.cpp:43:18:43:18 | call to b |
98+
| complex.cpp:53:12:53:12 | setA output argument [a_] | complex.cpp:59:7:59:8 | Argument 0 indirection [a_] |
99+
| complex.cpp:53:19:53:28 | call to user_input | complex.cpp:53:12:53:12 | setA output argument [a_] |
100+
| complex.cpp:54:12:54:12 | setB output argument [b_] | complex.cpp:62:7:62:8 | Argument 0 indirection [b_] |
101+
| complex.cpp:54:19:54:28 | call to user_input | complex.cpp:54:12:54:12 | setB output argument [b_] |
102+
| complex.cpp:55:12:55:12 | setA output argument [a_] | complex.cpp:56:12:56:12 | Argument -1 indirection [a_] |
103+
| complex.cpp:55:12:55:12 | setA output argument [a_] | complex.cpp:65:7:65:8 | Argument 0 indirection [a_] |
104+
| complex.cpp:55:19:55:28 | call to user_input | complex.cpp:55:12:55:12 | setA output argument [a_] |
105+
| complex.cpp:56:12:56:12 | Argument -1 indirection [a_] | complex.cpp:56:12:56:12 | setB output argument [a_] |
106+
| complex.cpp:56:12:56:12 | setB output argument [a_] | complex.cpp:65:7:65:8 | Argument 0 indirection [a_] |
107+
| complex.cpp:56:12:56:12 | setB output argument [b_] | complex.cpp:65:7:65:8 | Argument 0 indirection [b_] |
108+
| complex.cpp:56:19:56:28 | call to user_input | complex.cpp:56:12:56:12 | setB output argument [b_] |
109+
| complex.cpp:59:7:59:8 | Argument 0 indirection [a_] | complex.cpp:40:17:40:17 | *b [a_] |
110+
| complex.cpp:62:7:62:8 | Argument 0 indirection [b_] | complex.cpp:40:17:40:17 | *b [b_] |
111+
| complex.cpp:65:7:65:8 | Argument 0 indirection [a_] | complex.cpp:40:17:40:17 | *b [a_] |
112+
| complex.cpp:65:7:65:8 | Argument 0 indirection [b_] | complex.cpp:40:17:40:17 | *b [b_] |
113113
| constructors.cpp:26:15:26:15 | *f [a_] | constructors.cpp:28:10:28:10 | Argument -1 indirection [a_] |
114114
| constructors.cpp:26:15:26:15 | *f [b_] | constructors.cpp:28:10:28:10 | Argument -1 indirection [b_] |
115115
| constructors.cpp:26:15:26:15 | *f [b_] | constructors.cpp:29:10:29:10 | Argument -1 indirection [b_] |
@@ -283,26 +283,26 @@ nodes
283283
| by_reference.cpp:134:29:134:29 | a | semmle.label | a |
284284
| complex.cpp:40:17:40:17 | *b [a_] | semmle.label | *b [a_] |
285285
| complex.cpp:40:17:40:17 | *b [b_] | semmle.label | *b [b_] |
286-
| complex.cpp:51:16:51:16 | Argument -1 indirection [a_] | semmle.label | Argument -1 indirection [a_] |
287-
| complex.cpp:51:16:51:16 | Argument -1 indirection [b_] | semmle.label | Argument -1 indirection [b_] |
288-
| complex.cpp:51:16:51:16 | a output argument [b_] | semmle.label | a output argument [b_] |
289-
| complex.cpp:51:18:51:18 | call to a | semmle.label | call to a |
290-
| complex.cpp:52:16:52:16 | Argument -1 indirection [b_] | semmle.label | Argument -1 indirection [b_] |
291-
| complex.cpp:52:18:52:18 | call to b | semmle.label | call to b |
292-
| complex.cpp:62:12:62:12 | setA output argument [a_] | semmle.label | setA output argument [a_] |
293-
| complex.cpp:62:19:62:28 | call to user_input | semmle.label | call to user_input |
294-
| complex.cpp:63:12:63:12 | setB output argument [b_] | semmle.label | setB output argument [b_] |
295-
| complex.cpp:63:19:63:28 | call to user_input | semmle.label | call to user_input |
296-
| complex.cpp:64:12:64:12 | setA output argument [a_] | semmle.label | setA output argument [a_] |
297-
| complex.cpp:64:19:64:28 | call to user_input | semmle.label | call to user_input |
298-
| complex.cpp:65:12:65:12 | Argument -1 indirection [a_] | semmle.label | Argument -1 indirection [a_] |
299-
| complex.cpp:65:12:65:12 | setB output argument [a_] | semmle.label | setB output argument [a_] |
300-
| complex.cpp:65:12:65:12 | setB output argument [b_] | semmle.label | setB output argument [b_] |
301-
| complex.cpp:65:19:65:28 | call to user_input | semmle.label | call to user_input |
302-
| complex.cpp:68:7:68:8 | Argument 0 indirection [a_] | semmle.label | Argument 0 indirection [a_] |
303-
| complex.cpp:71:7:71:8 | Argument 0 indirection [b_] | semmle.label | Argument 0 indirection [b_] |
304-
| complex.cpp:74:7:74:8 | Argument 0 indirection [a_] | semmle.label | Argument 0 indirection [a_] |
305-
| complex.cpp:74:7:74:8 | Argument 0 indirection [b_] | semmle.label | Argument 0 indirection [b_] |
286+
| complex.cpp:42:16:42:16 | Argument -1 indirection [a_] | semmle.label | Argument -1 indirection [a_] |
287+
| complex.cpp:42:16:42:16 | Argument -1 indirection [b_] | semmle.label | Argument -1 indirection [b_] |
288+
| complex.cpp:42:16:42:16 | a output argument [b_] | semmle.label | a output argument [b_] |
289+
| complex.cpp:42:18:42:18 | call to a | semmle.label | call to a |
290+
| complex.cpp:43:16:43:16 | Argument -1 indirection [b_] | semmle.label | Argument -1 indirection [b_] |
291+
| complex.cpp:43:18:43:18 | call to b | semmle.label | call to b |
292+
| complex.cpp:53:12:53:12 | setA output argument [a_] | semmle.label | setA output argument [a_] |
293+
| complex.cpp:53:19:53:28 | call to user_input | semmle.label | call to user_input |
294+
| complex.cpp:54:12:54:12 | setB output argument [b_] | semmle.label | setB output argument [b_] |
295+
| complex.cpp:54:19:54:28 | call to user_input | semmle.label | call to user_input |
296+
| complex.cpp:55:12:55:12 | setA output argument [a_] | semmle.label | setA output argument [a_] |
297+
| complex.cpp:55:19:55:28 | call to user_input | semmle.label | call to user_input |
298+
| complex.cpp:56:12:56:12 | Argument -1 indirection [a_] | semmle.label | Argument -1 indirection [a_] |
299+
| complex.cpp:56:12:56:12 | setB output argument [a_] | semmle.label | setB output argument [a_] |
300+
| complex.cpp:56:12:56:12 | setB output argument [b_] | semmle.label | setB output argument [b_] |
301+
| complex.cpp:56:19:56:28 | call to user_input | semmle.label | call to user_input |
302+
| complex.cpp:59:7:59:8 | Argument 0 indirection [a_] | semmle.label | Argument 0 indirection [a_] |
303+
| complex.cpp:62:7:62:8 | Argument 0 indirection [b_] | semmle.label | Argument 0 indirection [b_] |
304+
| complex.cpp:65:7:65:8 | Argument 0 indirection [a_] | semmle.label | Argument 0 indirection [a_] |
305+
| complex.cpp:65:7:65:8 | Argument 0 indirection [b_] | semmle.label | Argument 0 indirection [b_] |
306306
| constructors.cpp:26:15:26:15 | *f [a_] | semmle.label | *f [a_] |
307307
| constructors.cpp:26:15:26:15 | *f [b_] | semmle.label | *f [b_] |
308308
| constructors.cpp:28:10:28:10 | Argument -1 indirection [a_] | semmle.label | Argument -1 indirection [a_] |
@@ -393,10 +393,10 @@ nodes
393393
| by_reference.cpp:114:29:114:29 | a | by_reference.cpp:84:14:84:23 | call to user_input | by_reference.cpp:114:29:114:29 | a | a flows from $@ | by_reference.cpp:84:14:84:23 | call to user_input | call to user_input |
394394
| by_reference.cpp:130:27:130:27 | a | by_reference.cpp:88:13:88:22 | call to user_input | by_reference.cpp:130:27:130:27 | a | a flows from $@ | by_reference.cpp:88:13:88:22 | call to user_input | call to user_input |
395395
| by_reference.cpp:134:29:134:29 | a | by_reference.cpp:88:13:88:22 | call to user_input | by_reference.cpp:134:29:134:29 | a | a flows from $@ | by_reference.cpp:88:13:88:22 | call to user_input | call to user_input |
396-
| complex.cpp:51:18:51:18 | call to a | complex.cpp:62:19:62:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | call to a flows from $@ | complex.cpp:62:19:62:28 | call to user_input | call to user_input |
397-
| complex.cpp:51:18:51:18 | call to a | complex.cpp:64:19:64:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | call to a flows from $@ | complex.cpp:64:19:64:28 | call to user_input | call to user_input |
398-
| complex.cpp:52:18:52:18 | call to b | complex.cpp:63:19:63:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | call to b flows from $@ | complex.cpp:63:19:63:28 | call to user_input | call to user_input |
399-
| complex.cpp:52:18:52:18 | call to b | complex.cpp:65:19:65:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | call to b flows from $@ | complex.cpp:65:19:65:28 | call to user_input | call to user_input |
396+
| complex.cpp:42:18:42:18 | call to a | complex.cpp:53:19:53:28 | call to user_input | complex.cpp:42:18:42:18 | call to a | call to a flows from $@ | complex.cpp:53:19:53:28 | call to user_input | call to user_input |
397+
| complex.cpp:42:18:42:18 | call to a | complex.cpp:55:19:55:28 | call to user_input | complex.cpp:42:18:42:18 | call to a | call to a flows from $@ | complex.cpp:55:19:55:28 | call to user_input | call to user_input |
398+
| complex.cpp:43:18:43:18 | call to b | complex.cpp:54:19:54:28 | call to user_input | complex.cpp:43:18:43:18 | call to b | call to b flows from $@ | complex.cpp:54:19:54:28 | call to user_input | call to user_input |
399+
| complex.cpp:43:18:43:18 | call to b | complex.cpp:56:19:56:28 | call to user_input | complex.cpp:43:18:43:18 | call to b | call to b flows from $@ | complex.cpp:56:19:56:28 | call to user_input | call to user_input |
400400
| constructors.cpp:28:12:28:12 | call to a | constructors.cpp:34:11:34:20 | call to user_input | constructors.cpp:28:12:28:12 | call to a | call to a flows from $@ | constructors.cpp:34:11:34:20 | call to user_input | call to user_input |
401401
| constructors.cpp:28:12:28:12 | call to a | constructors.cpp:36:11:36:20 | call to user_input | constructors.cpp:28:12:28:12 | call to a | call to a flows from $@ | constructors.cpp:36:11:36:20 | call to user_input | call to user_input |
402402
| constructors.cpp:29:12:29:12 | call to b | constructors.cpp:35:14:35:23 | call to user_input | constructors.cpp:29:12:29:12 | call to b | call to b flows from $@ | constructors.cpp:35:14:35:23 | call to user_input | call to user_input |

0 commit comments

Comments
 (0)