CodeQL library for C/C++
codeql/cpp-all 0.13.1 (changelog, source)
Search

Module SsaInternalsCommon

Import path

import semmle.code.cpp.ir.dataflow.internal.SsaInternalsCommon

Imports

Cached
IR

Provides classes that describe the Intermediate Representation (IR) of the program.

IRCppLanguage
IsModifiableAtImpl

Predicates

countIndirectionsForCppType

Gets the maximum number of indirections a value of C++ type langType can have.

getLanguageType

Gets the C++ type of the operand operand. This is equivalent to the type of the operand’s defining instruction.

getMaxIndirectionsForType

Gets the maximum number of indirections a glvalue of type type can have. For example: - If type = int, the result is 1 - If type = MyStruct, the result is 1 - If type = char*, the result is 2

getResultLanguageType

Gets the C++ type of the instruction i.

ignoreInstruction

Holds if instr is an instruction that is not used by the dataflow library. Ignored instructions are not recognized as reads/writes by SSA, and they don’t have a corresponding (Indirect)InstructionNode.

ignoreOperand

Holds if operand is an operand that is not used by the dataflow library. Ignored operands are not recognized as uses by SSA, and they don’t have a corresponding (Indirect)OperandNode.

isAdditionalConversionFlow
isDereference

Holds if deref is the result of loading the value at the address represented by address.

isWrite

Classes

Datatypes

Modules

InputSigCommon

Inputs to the shared SSA library’s parameterized module that is shared between the SSA pruning stage, and the final SSA stage.

Aliases

Cpp

Provides classes and predicates for working with C/C++ code.