clang 20.0.0git
Functions
SimpleSValBuilder.cpp File Reference
#include "clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h"
#include <optional>

Go to the source code of this file.

Functions

static bool isNegationValuePreserving (const llvm::APSInt &Value, APSIntType ResultType)
 
static bool isInRelation (BinaryOperator::Opcode Rel, SymbolRef Sym, llvm::APSInt Bound, ProgramStateRef State)
 
static bool isWithinConstantOverflowBounds (SymbolRef Sym, ProgramStateRef State)
 
static bool isWithinConstantOverflowBounds (llvm::APSInt I)
 
static std::pair< SymbolRef, llvm::APSIntdecomposeSymbol (SymbolRef Sym, BasicValueFactory &BV)
 
static NonLoc doRearrangeUnchecked (ProgramStateRef State, BinaryOperator::Opcode Op, SymbolRef LSym, llvm::APSInt LInt, SymbolRef RSym, llvm::APSInt RInt)
 
static bool shouldRearrange (ProgramStateRef State, BinaryOperator::Opcode Op, SymbolRef Sym, llvm::APSInt Int, QualType Ty)
 
static std::optional< NonLoctryRearrange (ProgramStateRef State, BinaryOperator::Opcode Op, NonLoc Lhs, NonLoc Rhs, QualType ResultTy)
 
static SVal evalBinOpFieldRegionFieldRegion (const FieldRegion *LeftFR, const FieldRegion *RightFR, BinaryOperator::Opcode op, QualType resultTy, SimpleSValBuilder &SVB)
 
static void assertEqualBitWidths (ProgramStateRef State, Loc RhsLoc, Loc LhsLoc)
 

Function Documentation

◆ assertEqualBitWidths()

static void assertEqualBitWidths ( ProgramStateRef  State,
Loc  RhsLoc,
Loc  LhsLoc 
)
static

◆ decomposeSymbol()

static std::pair< SymbolRef, llvm::APSInt > decomposeSymbol ( SymbolRef  Sym,
BasicValueFactory BV 
)
static

◆ doRearrangeUnchecked()

static NonLoc doRearrangeUnchecked ( ProgramStateRef  State,
BinaryOperator::Opcode  Op,
SymbolRef  LSym,
llvm::APSInt  LInt,
SymbolRef  RSym,
llvm::APSInt  RInt 
)
static

◆ evalBinOpFieldRegionFieldRegion()

static SVal evalBinOpFieldRegionFieldRegion ( const FieldRegion LeftFR,
const FieldRegion RightFR,
BinaryOperator::Opcode  op,
QualType  resultTy,
SimpleSValBuilder &  SVB 
)
static

◆ isInRelation()

static bool isInRelation ( BinaryOperator::Opcode  Rel,
SymbolRef  Sym,
llvm::APSInt  Bound,
ProgramStateRef  State 
)
static

◆ isNegationValuePreserving()

static bool isNegationValuePreserving ( const llvm::APSInt Value,
APSIntType  ResultType 
)
static

◆ isWithinConstantOverflowBounds() [1/2]

static bool isWithinConstantOverflowBounds ( llvm::APSInt  I)
static

◆ isWithinConstantOverflowBounds() [2/2]

static bool isWithinConstantOverflowBounds ( SymbolRef  Sym,
ProgramStateRef  State 
)
static

◆ shouldRearrange()

static bool shouldRearrange ( ProgramStateRef  State,
BinaryOperator::Opcode  Op,
SymbolRef  Sym,
llvm::APSInt  Int,
QualType  Ty 
)
static

◆ tryRearrange()

static std::optional< NonLoc > tryRearrange ( ProgramStateRef  State,
BinaryOperator::Opcode  Op,
NonLoc  Lhs,
NonLoc  Rhs,
QualType  ResultTy 
)
static