|
clang 24.0.0git
|
#include "clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.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/SValBuilder.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, ProgramStateRef) |
| static std::pair< SymbolRef, APSIntPtr > | decomposeSymbol (SymbolRef Sym, BasicValueFactory &BV) |
| static std::optional< NonLoc > | tryRearrange (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) |
|
static |
Definition at line 753 of file SimpleSValBuilder.cpp.
References clang::ento::SVal::getKind(), clang::ento::SVal::getType(), clang::ASTContext::getTypeSize(), and clang::QualType::isNull().
|
static |
Definition at line 277 of file SimpleSValBuilder.cpp.
References clang::ento::SymExpr::getType(), and clang::BinaryOperator::isAdditiveOp().
Referenced by tryRearrange().
|
static |
Definition at line 700 of file SimpleSValBuilder.cpp.
References clang::RecordDecl::fields(), clang::ento::FieldRegion::getDecl(), clang::FieldDecl::getParent(), clang::ento::SubRegion::getSuperRegion(), and clang::BinaryOperator::isComparisonOp().
|
static |
Definition at line 234 of file SimpleSValBuilder.cpp.
References clang::ento::SValBuilder::evalBinOpNN(), clang::ento::SValBuilder::getBasicValueFactory(), clang::ento::SValBuilder::getConditionType(), clang::ento::SValBuilder::getStateManager(), and clang::ento::ProgramStateManager::getSValBuilder().
Referenced by isWithinConstantOverflowBounds().
|
static |
Definition at line 109 of file SimpleSValBuilder.cpp.
References clang::ento::APSIntType::getBitWidth(), and clang::ento::APSIntType::isUnsigned().
|
static |
Definition at line 268 of file SimpleSValBuilder.cpp.
References clang::ento::APSIntType::getMaxValue(), clang::ento::APSIntType::getValue(), clang::ento::APSIntType::isUnsigned(), and clang::Max.
|
static |
Definition at line 252 of file SimpleSValBuilder.cpp.
References clang::ento::BasicValueFactory::getAPSIntType(), clang::ento::SValBuilder::getBasicValueFactory(), clang::ento::APSIntType::getMaxValue(), clang::ento::SValBuilder::getStateManager(), clang::ento::ProgramStateManager::getSValBuilder(), clang::ento::SymExpr::getType(), clang::ento::APSIntType::getValue(), isInRelation(), clang::Max, clang::Min, and clang::T.
Referenced by tryRearrange().
|
static |
Definition at line 294 of file SimpleSValBuilder.cpp.
References decomposeSymbol(), clang::ento::SValBuilder::evalBinOpNN(), clang::ento::SValBuilder::getAnalyzerOptions(), clang::ento::BasicValueFactory::getAPSIntType(), clang::ento::SVal::getAs(), clang::ento::SVal::getAsSymbol(), clang::ento::SValBuilder::getConditionType(), clang::ento::ProgramStateManager::getSValBuilder(), clang::ento::SymExpr::getType(), clang::BinaryOperator::isAdditiveOp(), clang::BinaryOperator::isComparisonOp(), clang::Type::isSignedIntegerOrEnumerationType(), isWithinConstantOverflowBounds(), clang::ento::SValBuilder::makeSymExprValNN(), clang::BinaryOperator::reverseComparisonOp(), and X.