clang  6.0.0svn
Functions
ArrayBoundCheckerV2.cpp File Reference
#include "ClangSACheckers.h"
#include "clang/AST/CharUnits.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "clang/StaticAnalyzer/Core/CheckerManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for ArrayBoundCheckerV2.cpp:

Go to the source code of this file.

Functions

static SVal computeExtentBegin (SValBuilder &svalBuilder, const MemRegion *region)
 
static std::pair< NonLoc, nonloc::ConcreteIntgetSimplifiedOffsets (NonLoc offset, nonloc::ConcreteInt extent, SValBuilder &svalBuilder)
 
static SVal getValue (SVal val, SValBuilder &svalBuilder)
 
static SVal scaleValue (ProgramStateRef state, NonLoc baseVal, CharUnits scaling, SValBuilder &sb)
 
static SVal addValue (ProgramStateRef state, SVal x, SVal y, SValBuilder &svalBuilder)
 

Function Documentation

◆ addValue()

static SVal addValue ( ProgramStateRef  state,
SVal  x,
SVal  y,
SValBuilder svalBuilder 
)
static

◆ computeExtentBegin()

static SVal computeExtentBegin ( SValBuilder svalBuilder,
const MemRegion region 
)
static

◆ getSimplifiedOffsets()

static std::pair<NonLoc, nonloc::ConcreteInt> getSimplifiedOffsets ( NonLoc  offset,
nonloc::ConcreteInt  extent,
SValBuilder svalBuilder 
)
static

◆ getValue()

static SVal getValue ( SVal  val,
SValBuilder svalBuilder 
)
inlinestatic

Definition at line 275 of file ArrayBoundCheckerV2.cpp.

References clang::ento::SVal::getAs(), and clang::ento::SValBuilder::makeArrayIndex().

Referenced by clang::ento::BasicValueFactory::Add1(), addValue(), clang::ento::SimpleConstraintManager::assume(), clang::ento::SimpleConstraintManager::assumeInclusiveRange(), clang::ento::nonloc::CompoundVal::begin(), clang::ento::mpi::MPIChecker::checkMissingWaits(), clang::ento::BasicValueFactory::Convert(), clang::ento::Loc::dumpToStream(), clang::ento::nonloc::CompoundVal::end(), clang::ento::BasicValueFactory::evalAPSInt(), clang::ento::nonloc::ConcreteInt::evalBinOp(), clang::ento::loc::ConcreteInt::evalBinOp(), clang::ento::nonloc::ConcreteInt::evalComplement(), clang::ento::nonloc::ConcreteInt::evalMinus(), clang::tooling::OptionRequirement< OptionType >::evaluate(), clang::ento::BasicValueFactory::getContext(), clang::ento::BasicValueFactory::getIntValue(), clang::ento::BasicValueFactory::getIntWithPtrWidth(), clang::ento::StoreManager::getLValueElement(), clang::ento::BasicValueFactory::getMaxValue(), clang::ento::BasicValueFactory::getMinValue(), clang::threadSafety::getSourceLiteralString(), clang::ento::BasicValueFactory::getTruthValue(), clang::ento::BasicValueFactory::getValue(), clang::ento::BasicValueFactory::getZeroWithPtrWidth(), clang::ento::BasicValueFactory::getZeroWithTypeSize(), isAlwaysUninit(), clang::CodeGen::ReturnValueSlot::isNull(), clang::tooling::nodeToCommandLine(), clang::ento::BasicValueFactory::Sub1(), and clang::ento::ExprEngine::VisitLogicalExpr().

◆ scaleValue()

static SVal scaleValue ( ProgramStateRef  state,
NonLoc  baseVal,
CharUnits  scaling,
SValBuilder sb 
)
inlinestatic