Mathias Vorreiter Pedersen
c389611e5c
C++: Add spurious dataflow test.
2024-04-08 21:24:59 +01:00
Mathias Vorreiter Pedersen
cc754858c6
C++: Add a testcase with missing flow out of the address of 'a' and to the argument of 'sink'.
2024-03-06 18:15:49 -08:00
Mathias Vorreiter Pedersen
a799399639
C++: Accept test changes.
2024-02-12 16:51:25 +00:00
Mathias Vorreiter Pedersen
439d3d2438
C++: Add tests with higher level of indirection.
2024-02-02 12:09:46 +00:00
Mathias Vorreiter Pedersen
6bd31deb00
Merge pull request #15282 from MathiasVP/fix-duplicate-final-global-value
...
C++: Fix duplicate "final global value" nodes
2024-01-12 11:05:19 +00:00
Tom Hvitved
ad75562b55
CPP: Update expected test output
2024-01-10 15:27:22 +01:00
Mathias Vorreiter Pedersen
259bf27334
C++: Add pointer/pointee conflation test.
2024-01-10 11:51:40 +00:00
Mathias Vorreiter Pedersen
e47ad274ea
C++: Add Schack's tests.
2023-11-28 14:32:21 +00:00
Mathias Vorreiter Pedersen
1753a7e146
C++: Add tests.
2023-11-28 14:27:15 +00:00
Mathias Vorreiter Pedersen
8039e117ba
C++: Add more global-variable flow tests.
2023-11-20 12:15:52 +00:00
Mathias Vorreiter Pedersen
799873113f
C++: Add a test that demonstrates reference dereference duplication.
2023-11-16 10:52:14 +00:00
Mathias Vorreiter Pedersen
0963af2ee7
C++: Add failing tests.
2023-11-09 18:01:22 +00:00
Alex Eyers-Taylor
60f3598da9
CPP: Add dataflow FP with output arguments
2023-10-27 19:07:10 +01:00
Tom Hvitved
c9910f5464
C++: Update expected test output
2023-09-12 20:05:12 +02:00
Mathias Vorreiter Pedersen
da54751d85
C++: Add testcase that demonstrate the need for self-flow out of indirect parameters.
2023-06-22 19:33:13 +01:00
Mathias Vorreiter Pedersen
c7cff373de
C++: Add another testcase with conflation.
2023-06-22 10:59:12 +01:00
Mathias Vorreiter Pedersen
5816f177c9
C++: Add failing test.
2023-06-22 10:59:11 +01:00
Mathias Vorreiter Pedersen
35e91bafa7
C++: Introduce 'indirect_sink' in dataflow tests.
2023-05-16 17:39:53 +01:00
Mathias Vorreiter Pedersen
c45032844e
C++: Add example with conflation in dataflow.
2023-05-16 16:34:20 +01:00
Mathias Vorreiter Pedersen
77001a070b
Merge branch 'main' into identity-consistency-check
2023-05-03 22:01:06 +01:00
Mathias Vorreiter Pedersen
5dc9d9a10f
C++: Accept consistency changes.
2023-05-03 20:29:17 +01:00
Mathias Vorreiter Pedersen
3eca60cc40
C++: Add static local testcases.
2023-04-28 10:23:36 +01:00
Jeroen Ketema
8aa9207281
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-16 10:28:44 +01:00
Tom Hvitved
b3ef1e9372
C++: Update expected test output
2023-03-16 08:40:53 +01:00
Mathias Vorreiter Pedersen
575ac46bf3
C++: Add failing test.
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
faf9fd6253
C++: Add a testcase (and a new test) to test flow through functions.
2023-02-10 12:40:29 +00:00
Mathias Vorreiter Pedersen
ae774a6b95
C++: Add a test with an indirect source.
2023-02-03 16:59:54 +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
22b04af0fa
Merge pull request #11658 from MathiasVP/uncertain-writes
...
C++: Flow through uncertain writes
2022-12-14 15:26:28 +00:00
Jeroen Ketema
bb256514c0
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-14 15:52:20 +01:00
Tom Hvitved
cfcb3a60ba
C++: Update expected test output
2022-12-13 09:53:01 +01:00
Mathias Vorreiter Pedersen
2999243e34
C++: Add failing IR dataflow testcase.
2022-12-12 10:42:59 +00:00
Mathias Vorreiter Pedersen
4fd6ac5657
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-08 13:10:18 +00:00
Tom Hvitved
7972db68bc
C++: Update expected test output
2022-12-05 17:07:32 +01:00
Mathias Vorreiter Pedersen
a9173727cf
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-16 14:22:54 +00:00
Mathias Vorreiter Pedersen
4f2c2e6d5e
C++: Accept test changes.
2022-11-16 14:05:54 +00:00
Rasmus Wriedt Larsen
ddbcdcb4ba
Merge pull request #11160 from RasmusWL/dataflow-consistency-read-store
...
DataFlow: Add read/store stepIsLocal consistency checks
2022-11-11 14:51:45 +01:00
Rasmus Wriedt Larsen
88f703af1f
DataFlow: Accept changes to .expected
2022-11-10 22:13:34 +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
Tom Hvitved
7a694d5da5
C++: Update expected test output
2022-09-22 15:01:40 +02:00
Anders Schack-Mulligen
091e3a2931
Dataflow: Adjust test output.
2020-10-09 16:25:14 +02:00
Rasmus Lerchedahl Petersen
750735c70c
Dataflow: Update test expectations
2020-08-28 15:00:01 +02:00
Tom Hvitved
de3dc734ff
C++: Follow-up changes
2020-06-30 17:44:16 +02:00
Jonas Jensen
9153f568be
C++: Accept test results with location fixes
2020-05-28 09:42:49 +02:00
Jonas Jensen
1b1095ee75
C++: Post-update flow through &, *, +, ...
...
Flow from a definition by reference of a field into its object was
working inconsistently and in a very syntax-dependent way. For a
function `f` receiving a reference, `f(a->x)` could propagate data back
to `a` via the _reverse read_ mechanism in the shared data-flow library,
but for a function `g` receiving a pointer, `g(&a->x)` would not work.
And `f((*a).x)` would not work either.
In all cases, the issue was that the shared data-flow library propagates
data backwards between `PostUpdateNode`s only, but there is no
`PostUpdateNode` for `a->x` in `g(&a->x)`. This pull request inserts
such post-update nodes where appropriate and links them to their
neighbors. In this exapmle, flow back from the output parameter of `g`
passes first to the `PostUpdateNode` of `&`, then to the (new)
`PostUpdateNode` of `a->x`, and finally, as a _reverse read_ with the
appropriate field projection, to `a`.
2020-05-01 15:40:19 +02:00