Mathias Vorreiter Pedersen
c45032844e
C++: Add example with conflation in dataflow.
2023-05-16 16:34:20 +01:00
Mathias Vorreiter Pedersen
24d1cac9d7
C++: Accept test changes.
2023-04-28 10:25:07 +01:00
Mathias Vorreiter Pedersen
3eca60cc40
C++: Add static local testcases.
2023-04-28 10:23:36 +01:00
Mathias Vorreiter Pedersen
263b208282
C++: Disambiguate a test annotation.
2023-03-08 09:07:07 +00:00
Mathias Vorreiter Pedersen
eea02e1ac1
C++: Accept test changes.
2023-03-07 16:18:43 +00:00
Mathias Vorreiter Pedersen
2963dc1cb1
C++: Include phi read nodes in SSA.
...
There's a small fix to the mapping from 'global def -> use'.
Finally, this commit also accepts a test failure related to new missing
types for phi nodes. The fix for that is in the next commit.
2023-03-02 22:48:06 +00:00
Mathias Vorreiter Pedersen
b3f92fcf0f
C++: Add FN caused by missing static local initialization in SSA.
2023-03-02 22:37:52 +00:00
Mathias Vorreiter Pedersen
4e16bb65e3
C++: Accept test changes. Because we now allocate _three_ indirect nodes
...
for a value of type `void*` (i.e., `p`, `*p` and `**p`) we need to decide
on a type for the `**p` value. We will do this in the next commit.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
f6b9ca3da6
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
da4a059388
C++: Accept test changes.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
575ac46bf3
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
b952f619db
C++: Accept test changes.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
9d64c0a023
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
5bd7589109
C++: Fix spurious flow though and accept test changes.
2023-02-10 12:42:40 +00:00
Mathias Vorreiter Pedersen
faf9fd6253
C++: Add a testcase (and a new test) to test flow through functions.
2023-02-10 12:40:29 +00:00
Jeroen Ketema
350fb89ebf
C++: Also mention all locations in the AST case
2023-02-10 09:49:24 +01:00
Jeroen Ketema
12930c68fb
C++: Do not mark global indirect flow as spurious in dataflow tests
2023-02-10 09:29:27 +01:00
Mathias Vorreiter Pedersen
ae774a6b95
C++: Add a test with an indirect source.
2023-02-03 16:59:54 +00:00
Mathias Vorreiter Pedersen
1b45c5f96a
C++: Accept test changes.
2023-01-30 09:13:42 +00:00
Mathias Vorreiter Pedersen
2b47e150c6
C++: Accept test changes.
2023-01-27 11:44:17 +00:00
Mathias Vorreiter Pedersen
bfe9ae22ad
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-26 13:03:49 +00:00
Mathias Vorreiter Pedersen
510211a4c7
C++: Add testcase with looping behavior in C/C++ def-use flow.
2023-01-24 09:44:30 +00:00
Mathias Vorreiter Pedersen
79b77b01fd
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-23 15:49:36 +00:00
Mathias Vorreiter Pedersen
a217017859
C++: Add testcase with looping behavior in C/C++ use-use flow.
2023-01-23 14:29:39 +00:00
Mathias Vorreiter Pedersen
cc0371648b
C++: Accept test changes.
2023-01-11 16:25:21 +00:00
Mathias Vorreiter Pedersen
8722fb2cf5
C++: Accept test changes.
2022-12-12 10:54:40 +00:00
Mathias Vorreiter Pedersen
2999243e34
C++: Add failing IR dataflow testcase.
2022-12-12 10:42:59 +00:00
Mathias Vorreiter Pedersen
23d6eb67c3
C++: Fix comment.
2022-11-21 19:26:04 +00:00
Mathias Vorreiter Pedersen
d361053e10
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-11-21 10:37:03 +00:00
Mathias Vorreiter Pedersen
1e00e15c7b
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-11-21 10:36:57 +00:00
Mathias Vorreiter Pedersen
29f4b26280
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-16 16:09:35 +00:00
Mathias Vorreiter Pedersen
4f2c2e6d5e
C++: Accept test changes.
2022-11-16 14:05:54 +00:00
Mathias Vorreiter Pedersen
3e5c66e932
C++: Accept test changes.
2022-11-16 14:05:48 +00:00
Mathias Vorreiter Pedersen
0c7f57e0c4
C++: Accept test changes.
2022-11-11 11:09:38 +00:00
Jeroen Ketema
74f9b322a8
Merge branch 'main' into update-from-main
2022-11-08 17:01:02 +01:00
Jeroen Ketema
fa2d58adff
C++: Add dataflow test that deliberately omits the return of a non-void function
2022-11-08 15:12:34 +01:00
Jeroen Ketema
89c5e3df1f
C++: Fix the dataflow configuration in dataflow/dataflow-tests
2022-11-07 16:43:55 +01:00
Jeroen Ketema
291027ad82
C++: Fix return type in dataflow test
2022-11-07 09:42:54 +01:00
Robert Marsh
048e5d8474
C++: IR data flow through global variables
2022-06-20 15:15:45 -04:00
Mathias Vorreiter Pedersen
25253c7b8d
C++: Don't count write operations as uses for IR dataflow. Accept test changes.
2022-01-14 13:39:57 +00:00
Mathias Vorreiter Pedersen
e8afec413a
C++: Add testcase that demonstrates a FP caused by spurious flow through phi nodes in IR dataflow.
2022-01-14 13:34:27 +00:00
Mathias Vorreiter Pedersen
3efe60fdd2
C++: Accept test changes.
2021-10-28 12:35:01 +01:00
Mathias Vorreiter Pedersen
a082172422
C++: Add testcase demonstrating missing local flow out of fields that are defined by reference.
2021-07-29 14:46:32 +02:00
Jonas Jensen
064568c36d
Revert "Merge pull request #4784 from MathiasVP/mathiasvp/reverse-read-take-3"
...
This reverts commit 1b3d69d617 , reversing
changes made to 527c41520e .
2021-02-03 08:49:37 +01:00
Mathias Vorreiter Pedersen
72a80e3722
C++: Accept test changes.
2020-12-22 09:14:54 +01:00
Cornelius Riemenschneider
644a0fac98
C++: Port dataflow/dataflow-tests to inline expectations test library.
2020-11-27 16:03:15 +01:00
Jonas Jensen
bdce24735c
C++: Add flow through arrays
...
This works by adding data-flow edges to skip over array expressions when
reading from arrays. On the post-update side, there was already code to
skip over array expressions when storing to arrays. That happens in
`valueToUpdate` in `AddressFlow.qll`, which needed just a small tweak to
support assignments with non-field expressions at the top-level LHS,
like `*a = ...` or `a[0] = ...`.
The new code in `AddressFlow.qll` is copy-pasted from `EscapesTree.qll`,
and there is already a note in these files saying that they share a lot
of code and must be maintained in sync.
2020-09-15 14:46:11 +02:00
Jonas Jensen
5f0d283212
Merge remote-tracking branch 'upstream/master' into dataflow-indirect-args
...
The conflicts came from how `this` is now a parameter but not a
`Parameter` on `master`.
Conflicts:
cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/defaulttainttracking.cpp
cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/tainted.expected
cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/test_diff.expected
cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-ir-consistency.expected
cpp/ql/test/library-tests/dataflow/fields/ir-flow.expected
cpp/ql/test/library-tests/syntax-zoo/dataflow-ir-consistency.expected
2020-06-02 15:35:02 +02:00
Robert Marsh
71d87be773
C++: add flow through partial loads in DTT
2020-01-29 17:51:42 -08:00
Ian Lynagh
1d56407c72
C++: Pull some of library-tests/dataflow/dataflow-tests into clang.cpp
...
g++ doesn't support this code:
sorry, unimplemented: non-trivial designated initializers not supported
twoIntFields sSwapped = { .m2 = source(), .m1 = 0 };
so we need to build it in clang mode.
2019-09-05 15:12:17 +01:00