Skip to content

Commit ee0648b

Browse files
authored
Merge pull request #2684 from geoffw0/rearrange-tests
CPP: Test cleanup
2 parents cfbdf21 + 912260b commit ee0648b

29 files changed

+102
-25
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
| stackVariableReachability.c:11:2:11:2 | a | ... + ... |
2+
| stackVariableReachability.c:11:6:11:6 | a | 10 |
3+
| stackVariableReachability.c:12:2:12:2 | a | 40 |
4+
| stackVariableReachability.c:13:2:13:2 | a | 40 |
5+
| stackVariableReachability.c:14:4:14:4 | a | 40 |
6+
| stackVariableReachability.c:15:2:15:2 | a | call to f |
7+
| stackVariableReachability.c:15:8:15:8 | a | 40 |
8+
| stackVariableReachability.c:16:2:16:2 | a | call to f |
9+
| stackVariableReachability.c:19:3:19:3 | b | 50 |
10+
| stackVariableReachability.c:21:3:21:3 | b | 60 |
11+
| stackVariableReachability.c:23:2:23:2 | c | b |
12+
| stackVariableReachability.c:23:6:23:6 | b | 50, 60 |
13+
| stackVariableReachability.c:24:2:24:2 | c | 50, 60, b |
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import cpp
2+
import semmle.code.cpp.controlflow.StackVariableReachability
3+
4+
class MyStackVariableReachability extends StackVariableReachabilityWithReassignment {
5+
MyStackVariableReachability() { this = "MyStackVariableReachability" }
6+
7+
override predicate isSourceActual(ControlFlowNode node, StackVariable v) {
8+
exprDefinition(v, _, node)
9+
}
10+
11+
override predicate isSinkActual(ControlFlowNode node, StackVariable v) {
12+
node.(VariableAccess).getTarget() = v
13+
}
14+
15+
override predicate isBarrier(ControlFlowNode node, StackVariable v) { exprDefinition(v, _, node) }
16+
}
17+
18+
from MyStackVariableReachability svr, ControlFlowNode sink
19+
select sink, strictconcat(Expr source | svr.reaches(source, _, sink) | source.toString(), ", ")
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
int cond();
3+
int f(int x);
4+
5+
void test(int p)
6+
{
7+
int a = 10;
8+
int b = 20;
9+
int c = 30;
10+
11+
a = a + 1;
12+
a = 40;
13+
a++;
14+
++a;
15+
a = f(a);
16+
a;
17+
18+
if (cond()) {
19+
b = 50;
20+
} else {
21+
b = 60;
22+
}
23+
c = b;
24+
c;
25+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
| stackVariableReachability.c:11:2:11:2 | a | ... + ... |
2+
| stackVariableReachability.c:11:6:11:6 | a | 10 |
3+
| stackVariableReachability.c:12:2:12:2 | a | 40 |
4+
| stackVariableReachability.c:13:2:13:2 | a | 40 |
5+
| stackVariableReachability.c:14:4:14:4 | a | 40 |
6+
| stackVariableReachability.c:15:2:15:2 | a | call to f |
7+
| stackVariableReachability.c:15:8:15:8 | a | 40 |
8+
| stackVariableReachability.c:16:2:16:2 | a | call to f |
9+
| stackVariableReachability.c:19:3:19:3 | b | 50 |
10+
| stackVariableReachability.c:21:3:21:3 | b | 60 |
11+
| stackVariableReachability.c:23:2:23:2 | c | b |
12+
| stackVariableReachability.c:23:6:23:6 | b | 50, 60 |
13+
| stackVariableReachability.c:24:2:24:2 | c | b |
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import cpp
2+
import semmle.code.cpp.controlflow.StackVariableReachability
3+
4+
class MyStackVariableReachability extends StackVariableReachability {
5+
MyStackVariableReachability() { this = "MyStackVariableReachability" }
6+
7+
override predicate isSource(ControlFlowNode node, StackVariable v) { exprDefinition(v, _, node) }
8+
9+
override predicate isSink(ControlFlowNode node, StackVariable v) {
10+
node.(VariableAccess).getTarget() = v
11+
}
12+
13+
override predicate isBarrier(ControlFlowNode node, StackVariable v) { exprDefinition(v, _, node) }
14+
}
15+
16+
from MyStackVariableReachability svr, ControlFlowNode sink
17+
select sink, strictconcat(Expr source | svr.reaches(source, _, sink) | source.toString(), ", ")

cpp/ql/test/library-tests/deprecated/stackVariableReachability.c

Whitespace-only changes.

cpp/ql/test/library-tests/deprecated/stackVariableReachability.expected

Lines changed: 0 additions & 1 deletion
This file was deleted.

cpp/ql/test/library-tests/deprecated/stackVariableReachability.ql

Lines changed: 0 additions & 4 deletions
This file was deleted.

cpp/ql/test/library-tests/functions/unused/unused_functions.expected

Lines changed: 0 additions & 4 deletions
This file was deleted.

cpp/ql/test/library-tests/functions/unused/unused_functions.qlref

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)