Skip to content

Files

Latest commit

 Cannot retrieve latest commit at this time.

History

History
23 lines (19 loc) · 2.59 KB

3.2.0.md

File metadata and controls

23 lines (19 loc) · 2.59 KB

3.2.0

New Features

  • Add a new predicate getAnIndirectBarrier to the parameterized module InstructionBarrierGuard in semmle.code.cpp.dataflow.new.DataFlow for computing indirect dataflow nodes that are guarded by a given instruction. This predicate is similar to the getAnIndirectBarrier predicate on the parameterized module BarrierGuard.
  • A new predicate getDecltype was added to the ProxyClass class, which yields the decltype for the proxy class.
  • Template classes that are of struct type are now also instances of the Struct class.
  • Template classes that are of union type are now also instances of the Union class.
  • A new abstract class ConfigurationTestFile (semmle.code.cpp.ConfigurationTestFile.ConfigurationTestFile) was introduced, which represents files created to test the build configuration. A subclass CmakeTryCompileFile of ConfigurationTestFile was also introduced, which represents files created by CMake to test the build configuration.
  • New predicates getARequiresClause, getTemplateRequiresClause and getFunctionRequiresClause were added to the FunctionDeclarationEntry class, which yield the requires clauses when the entry represents a function template declaration with requires clauses.
  • A new predicate getRequiresClause was added to the TypeDeclarationEntry class, which yields the requires clause when the entry represents a class template declaration with a requires clause.
  • A new predicate getRequiresClause was added to the VariableDeclarationEntry class, which yields the requires clause when the entry represents a variable template declaration with a requires clause.
  • A new predicate getTypeConstraint was added to the TypeTemplateParameter class, which yields the type constraint of the parameter if it exists.
  • A new class VariableTemplateSpecialization was introduced, which represents explicit specializations of variable templates.
  • A new predicate isSpecialization was added to the Variable class, which holds if the variable is a template specialization.
  • A new class ConceptIdExpr was introduced, which represents C++20 concept id expressions.
  • A new class Concept was introduced, which represents C++20 concepts.
  • The getTemplateArgumentType and getTemplateArgumentValue predicates of the Declaration class now also yield template arguments of concepts.
  • A new class ConstevalIfStmt was introduced, which represents the C++23 if consteval and if ! consteval statements.

Minor Analysis Improvements

  • DefaultOptions::exits now holds for C23 functions with the _Noreturn or ___Noreturn__ attribute.