Jeroen Ketema
527b537fee
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2023-06-26 12:57:43 +02:00
Jeroen Ketema
458522a656
C++: Implement clearsContent for IR dataflow
2023-06-26 12:11:03 +02:00
erik-krogh
a4ef8619c6
delete old deprecations
2023-06-08 10:10:21 +02:00
Jeroen Ketema
aeb6293757
C++: Rewrite flow test common to use inline expectation test module
...
This also rewrites all uses of flow test common to use `DataFlow::ConfigSig`.
Note that the removed deprecated aliases are 14 months old by now and, hence,
can be safely removed.
2023-05-23 16:34:41 +02:00
Mathias Vorreiter Pedersen
720586c437
Merge pull request #13059 from MathiasVP/remove-self-edges
...
C++: Remove self edges
2023-05-10 09:04:08 +01:00
Kasper Svendsen
c46898cb75
C++: Make implicit this receivers explicit
2023-05-09 15:35:54 +02:00
Mathias Vorreiter Pedersen
b43702451f
C++: Remove self edges from post-update SSA.
2023-05-05 15:47:00 +01:00
Mathias Vorreiter Pedersen
4048915c8c
C++: Remove self edges from non-post-update SSA.
2023-05-05 15:45:44 +01:00
Mathias Vorreiter Pedersen
c0b3a1896b
C++: No phi self-edges.
2023-05-05 12:16:52 +01:00
Mathias Vorreiter Pedersen
5dc9d9a10f
C++: Accept consistency changes.
2023-05-03 20:29:17 +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
1db24dd28d
C++: Fix missing types. We now assign the node corresponding to **p
...
an `UnknownType`.
2023-02-27 14:57:36 +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
2cb4a554ea
C++: Fix a bug in Expr <-> Node mapping.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
a806569b5f
C++: The next commit is going to track flow out of both direct and indirect sources. This means we'll get a lot of duplication since there'll be flow from indirect source -> indirect sink and direct source -> direct sink (which both map to the same expressions). This commit changes the testing so that we only report a duplication when they're at different locations.
2023-02-27 14:57:35 +00:00
Jeroen Ketema
ecdeb9a970
C++: Revert semmle.code.cpp.dataflow to its old state
...
While here make sure all queries and tests use IR dataflow when appropriate.
2023-02-10 14:21:44 +01:00
Mathias Vorreiter Pedersen
6b851d0529
C++: Fix an inconsistency with too many out nodes.
2023-02-09 16:55:19 +00:00
Mathias Vorreiter Pedersen
702b10ff96
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
2023-02-01 13:37:10 +00:00
Jeroen Ketema
24891c3f43
C++: Fix missing subpaths when displaying dataflow paths
2023-01-31 10:57:06 +01:00
Mathias Vorreiter Pedersen
1b45c5f96a
C++: Accept test changes.
2023-01-30 09:13:42 +00:00
Robert Marsh
3648f26cca
Merge remote-tracking branch 'origin/mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
...
Resolved trivial conflicts.
2023-01-26 11:58:53 -05:00
Mathias Vorreiter Pedersen
9dbea539ed
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into refactor-param-out-nodes-2
2023-01-23 10:51:46 +00:00
Mathias Vorreiter Pedersen
da6bbbbc5e
C++: Accept test changes.
2023-01-21 01:43:23 +00:00
Jeroen Ketema
f628152be1
C++: In dataflow use the AST representation of IR Instructions and Operands
2023-01-20 10:39:50 +01:00
Mathias Vorreiter Pedersen
cc0371648b
C++: Accept test changes.
2023-01-11 16:25:21 +00:00
Mathias Vorreiter Pedersen
cd24405a22
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
2023-01-11 15:42:34 +00:00
Mathias Vorreiter Pedersen
e453c7a36e
C++: Accept test changes.
2022-12-22 10:57:54 +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
Robert Marsh
f235b991db
Merge pull request #11374 from MathiasVP/indirect-outnodes-are-post-update-nodes
...
C++: Field flow through reference-returning functions
2022-12-08 10:46:19 -05: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
623372238d
C++: Better support for flow-through.
2022-11-22 13:54:44 +00:00
Mathias Vorreiter Pedersen
fc3d6a1847
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-21 20:57:24 +00:00
Mathias Vorreiter Pedersen
231e2a8df3
C++: Reduce fan-in for 'readStep'.
2022-11-21 17:07:29 +00:00
Mathias Vorreiter Pedersen
b12955e220
C++: Fix flow out of const member functions.
2022-11-16 22:46:21 +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
a9173727cf
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-16 14:22:54 +00:00
Mathias Vorreiter Pedersen
1f43a1a924
Merge branch 'replace-ast-with-ir-use-usedataflow' into merge-some-indirect-and-instruction-nodes
2022-11-15 16:00:52 +00:00
Mathias Vorreiter Pedersen
16565401c7
C++: Reduce path duplication.
2022-11-14 15:29:57 +00:00
Mathias Vorreiter Pedersen
7408931565
C++: Disable 'reference -> dereference' dataflow.
2022-11-14 14:05:31 +00:00
Jeroen Ketema
2b37ebd7ed
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-11 17:24:34 +01:00
Mathias Vorreiter Pedersen
0c7f57e0c4
C++: Accept test changes.
2022-11-11 11:09:38 +00:00
Rasmus Wriedt Larsen
88f703af1f
DataFlow: Accept changes to .expected
2022-11-10 22:13:34 +01:00
Jeroen Ketema
4ab5066ed2
C++: Fix imports and module names in old dataflow/taint tracking library
2022-11-09 11:52:39 +01:00
Mathias Vorreiter Pedersen
f19b381e3e
C++: Add use-use flow through global variables.
2022-11-08 17:10:37 +00:00
Jeroen Ketema
96425a1787
C++: Fix the IR dataflow configuration for the field flow tests
2022-11-03 18:06:37 +01:00
Jeroen Ketema
c87b516130
C++: Turn IndirectArgumentOutNode into a PartialDefinitionNode
2022-11-03 17:58:35 +01:00
Mathias Vorreiter Pedersen
172261495f
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-as-expr
2022-10-28 10:32:31 +02:00