Skip to content

Commit 7afb489

Browse files
committed
C++: Change note for def-by-ref data flow
1 parent 8e6daaf commit 7afb489

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

change-notes/1.20/analysis-cpp.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@
3434

3535
## Changes to QL libraries
3636

37+
* The `semmle.code.cpp.dataflow.DataFlow` library now supports _definition by reference_ via output parameters of known functions.
38+
* Data flows through `memcpy` and `memmove` by default.
39+
* Custom flow into or out of arguments assigned by reference can be modelled with the new class `DataFlow::DefinitionByReferenceNode`.
40+
* The data flow library adds flow through library functions that are modeled in `semmle.code.cpp.models.interfaces.DataFlow`. Queries can add subclasses of `DataFlowFunction` to specify additional flow.
3741
* There is a new `Namespace.isInline()` predicate, which holds if the namespace was declared as `inline namespace`.
3842
* The `Expr.isConstant()` predicate now also holds for _address constant expressions_, which are addresses that will be constant after the program has been linked. These address constants do not have a result for `Expr.getValue()`.
3943
* There are new `Function.isDeclaredConstexpr()` and `Function.isConstexpr()` predicates. They can be used to tell whether a function was declared as `constexpr`, and whether it actually is `constexpr`.

0 commit comments

Comments
 (0)