You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: change-notes/1.18/analysis-cpp.md
+2-1
Original file line number
Diff line number
Diff line change
@@ -31,10 +31,11 @@
31
31
|[Uncontrolled data in arithmetic expression]| More correct results | Increment / decrement / addition assignment / subtraction assignment operations are now understood as arithmetic operations in this query. |
32
32
|[Use of extreme values in arithmetic expression]| More correct results | Increment / decrement / addition assignment / subtraction assignment operations are now understood as arithmetic operations in this query. |
33
33
|[Use of extreme values in arithmetic expression]| Fewer false positives | The query now considers whether a particular expression might cause an overflow of minimum or maximum values only. |
34
-
34
+
35
35
## Changes to QL libraries
36
36
37
37
* Fixes for aggregate initializers using designators:
38
38
*`ClassAggregateLiteral.getFieldExpr()` previously assumed initializer expressions appeared in the same order as the declaration order of the fields, causing it to associate the expressions with the wrong fields when using designated initializers. This has been fixed.
39
39
*`ArrayAggregateLiteral.getElementExpr()` previously assumed initializer expressions appeared in the same order as the corresponding array elements, causing it to associate the expressions with the wrong array elements when using designated initializers. This has been fixed.
40
40
*`Element.getEnclosingElement()` no longer includes macro accesses in its results. To explore parents and children of macro accesses, use the relevant member predicates on `MacroAccess` or `MacroInvocation`.
41
+
* Added a hash consing library for structural comparison of expressions.
0 commit comments