clang
7.0.0
|
#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"
Go to the source code of this file.
Functions | |
static SVal | computeExtentBegin (SValBuilder &svalBuilder, const MemRegion *region) |
static std::pair< NonLoc, nonloc::ConcreteInt > | getSimplifiedOffsets (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) |
|
static |
Definition at line 292 of file ArrayBoundCheckerV2.cpp.
References clang::ento::SVal::castAs(), clang::ento::SValBuilder::evalBinOpNN(), clang::ento::SValBuilder::getArrayIndexType(), clang::ento::SVal::getAsRegion(), clang::ento::SValBuilder::getContext(), clang::ento::ElementRegion::getElementType(), clang::ento::ElementRegion::getIndex(), clang::ento::MemRegion::getKind(), clang::ento::SubRegion::getSuperRegion(), clang::ASTContext::getTypeSizeInChars(), getValue(), clang::Type::isIncompleteType(), clang::ento::SVal::isUnknownOrUndef(), clang::ento::CheckerManager::registerChecker(), scaleValue(), and clang::CodeGen::state.
|
static |
Definition at line 69 of file ArrayBoundCheckerV2.cpp.
References clang::ento::MemRegion::getKind(), clang::ento::MemRegion::getMemorySpace(), and clang::ento::SValBuilder::makeZeroArrayIndex().
Referenced by getSimplifiedOffsets().
|
static |
Definition at line 83 of file ArrayBoundCheckerV2.cpp.
References clang::ento::CheckerContext::addTransition(), clang::ento::SVal::castAs(), computeExtentBegin(), dump(), clang::ento::CheckerContext::emitReport(), clang::ento::SValBuilder::evalBinOpNN(), clang::ento::CheckerContext::generateErrorNode(), clang::ento::SVal::getAs(), clang::ento::SValBuilder::getConditionType(), clang::ento::CheckerContext::getState(), clang::ento::CheckerContext::getSValBuilder(), clang::ento::nonloc::ConcreteInt::getValue(), clang::ento::SValBuilder::makeIntVal(), and clang::CodeGen::state.
|
inlinestatic |
Definition at line 276 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::NonLoc::dumpToStream(), 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(), BytePattern::merge(), nodeToCommandLine(), clang::ento::BasicValueFactory::Sub1(), tryRearrange(), and clang::ento::ExprEngine::VisitLogicalExpr().
|
inlinestatic |
Definition at line 282 of file ArrayBoundCheckerV2.cpp.
References clang::ento::SValBuilder::evalBinOpNN(), clang::ento::SValBuilder::getArrayIndexType(), clang::CharUnits::getQuantity(), and clang::ento::SValBuilder::makeArrayIndex().
Referenced by addValue().