Skip to content

Latest commit

 

History

History
6 lines (6 loc) · 992 Bytes

File metadata and controls

6 lines (6 loc) · 992 Bytes
  • RULE-8-3, RULE-8-4, DCL40-C, RULE-23-5: DeclarationsOfAFunctionSameNameAndType.ql, DeclarationsOfAnObjectSameNameAndType.ql, CompatibleDeclarationOfFunctionDefined.ql, CompatibleDeclarationObjectDefined.ql, IncompatibleFunctionDeclarations.ql, DangerousDefaultSelectionForPointerInGeneric.ql:
    • Added pragmas to alter join order on function parameter equivalence (names and types).
    • Refactored expression which the optimizer was confused by, and compiled into a cartesian product.
    • Altered the module Compatible.qll to compute equality in two stages. Firstly, all pairs of possible type comparisons (including recursive comparisons) are found, then those pairwise comparisons are evaluated in a second stage. This greatly reduces the number of comparisons and greatly improves performance.
  • RULE-23-5: DangerousDefaultSelectionForPointerInGeneric.ql:
    • Altered the module SimpleAssignment.qll in accordance with the changes to Compatible.qll.