mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
2.6 KiB
2.6 KiB
3.2.0
New Features
- Add a new predicate
getAnIndirectBarrierto the parameterized moduleInstructionBarrierGuardinsemmle.code.cpp.dataflow.new.DataFlowfor computing indirect dataflow nodes that are guarded by a given instruction. This predicate is similar to thegetAnIndirectBarrierpredicate on the parameterized moduleBarrierGuard. - A new predicate
getDecltypewas added to theProxyClassclass, which yields the decltype for the proxy class. - Template classes that are of
structtype are now also instances of theStructclass. - Template classes that are of
uniontype are now also instances of theUnionclass. - A new abstract class
ConfigurationTestFile(semmle.code.cpp.ConfigurationTestFile.ConfigurationTestFile) was introduced, which represents files created to test the build configuration. A subclassCmakeTryCompileFileofConfigurationTestFilewas also introduced, which represents files created by CMake to test the build configuration. - New predicates
getARequiresClause,getTemplateRequiresClauseandgetFunctionRequiresClausewere added to theFunctionDeclarationEntryclass, which yield the requires clauses when the entry represents a function template declaration with requires clauses. - A new predicate
getRequiresClausewas added to theTypeDeclarationEntryclass, which yields the requires clause when the entry represents a class template declaration with a requires clause. - A new predicate
getRequiresClausewas added to theVariableDeclarationEntryclass, which yields the requires clause when the entry represents a variable template declaration with a requires clause. - A new predicate
getTypeConstraintwas added to theTypeTemplateParameterclass, which yields the type constraint of the parameter if it exists. - A new class
VariableTemplateSpecializationwas introduced, which represents explicit specializations of variable templates. - A new predicate
isSpecializationwas added to theVariableclass, which holds if the variable is a template specialization. - A new class
ConceptIdExprwas introduced, which represents C++20 concept id expressions. - A new class
Conceptwas introduced, which represents C++20 concepts. - The
getTemplateArgumentTypeandgetTemplateArgumentValuepredicates of theDeclarationclass now also yield template arguments of concepts. - A new class
ConstevalIfStmtwas introduced, which represents the C++23if constevalandif ! constevalstatements.
Minor Analysis Improvements
DefaultOptions::exitsnow holds for C23 functions with the_Noreturnor___Noreturn__attribute.