CodeQL library for C/C++
Search

Module Guards

Provides classes and predicates for reasoning about guards and the control flow elements controlled by those guards.

Import path

import semmle.code.cpp.controlflow.Guards

Imports

BasicBlocks

Provides a library for reasoning about control flow at the granularity of basic blocks. This is usually much more efficient than reasoning directly at the level of ControlFlowNodes.

Dominance

Provides dominance predicates for control-flow nodes.

SSA

Provides classes and predicates for SSA representation (Static Single Assignment form).

cpp

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

Classes

GuardCondition

A Boolean condition that guards one or more basic blocks. This includes operands of logical operators but not switch statements.

GuardedSsa

An SsaDefinition with an additional predicate isLt.