clang: lib/Analysis/UninitializedValues.cpp File Reference (original) (raw)
#include "[clang/Analysis/Analyses/UninitializedValues.h](UninitializedValues%5F8h%5Fsource.html)"#include "[clang/AST/Attr.h](AST%5F2Attr%5F8h%5Fsource.html)"#include "[clang/AST/Decl.h](Decl%5F8h%5Fsource.html)"#include "[clang/AST/DeclBase.h](DeclBase%5F8h%5Fsource.html)"#include "[clang/AST/Expr.h](Expr%5F8h%5Fsource.html)"#include "[clang/AST/OperationKinds.h](OperationKinds%5F8h%5Fsource.html)"#include "[clang/AST/Stmt.h](Stmt%5F8h%5Fsource.html)"#include "[clang/AST/StmtObjC.h](StmtObjC%5F8h%5Fsource.html)"#include "[clang/AST/StmtVisitor.h](StmtVisitor%5F8h%5Fsource.html)"#include "[clang/AST/Type.h](Type%5F8h%5Fsource.html)"#include "[clang/Analysis/AnalysisDeclContext.h](AnalysisDeclContext%5F8h%5Fsource.html)"#include "[clang/Analysis/CFG.h](CFG%5F8h%5Fsource.html)"#include "[clang/Analysis/DomainSpecific/ObjCNoReturn.h](ObjCNoReturn%5F8h%5Fsource.html)"#include "[clang/Analysis/FlowSensitive/DataflowWorklist.h](DataflowWorklist%5F8h%5Fsource.html)"#include "[clang/Basic/LLVM.h](LLVM%5F8h%5Fsource.html)"#include "llvm/ADT/BitVector.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/PackedVector.h"#include "llvm/ADT/SmallBitVector.h"#include "llvm/ADT/SmallVector.h"#include <algorithm>#include <cassert>#include <optional>
Go to the source code of this file.
| Macros | |
|---|---|
| #define | DEBUG_LOGGING 0 |
| Enumerations | |
|---|---|
| enum | Value { Unknown = 0x0 , Initialized = 0x1 , Uninitialized = 0x2 , MayUninitialized = 0x3 } |
| Functions | |
|---|---|
| static bool | recordIsNotEmpty (const RecordDecl *RD) |
| static bool | isTrackedVar (const VarDecl *vd, const DeclContext *dc) |
| static bool | isUninitialized (const Value v) |
| static bool | isAlwaysUninit (const Value v) |
| static const Expr * | stripCasts (ASTContext &C, const Expr *Ex) |
| static FindVarResult | findVar (const Expr *E, const DeclContext *DC) |
| If E is an expression comprising a reference to a single variable, find that variable. | |
| static const DeclRefExpr * | getSelfInitExpr (VarDecl *VD) |
| static bool | isPointerToConst (const QualType &QT) |
| static bool | hasTrivialBody (CallExpr *CE) |
| static bool | runOnBlock (const CFGBlock *block, const CFG &cfg, AnalysisDeclContext &ac, CFGBlockValues &vals, const ClassifyRefs &classification, llvm::BitVector &wasAnalyzed, UninitVariablesHandler &handler) |
◆ DEBUG_LOGGING
◆ Value
◆ findVar()
◆ getSelfInitExpr()
◆ hasTrivialBody()
◆ isAlwaysUninit()
◆ isPointerToConst()
◆ isTrackedVar()
Definition at line 58 of file UninitializedValues.cpp.
References clang::Type::getAsRecordDecl(), clang::Decl::getDeclContext(), clang::ValueDecl::getType(), clang::VarDecl::hasGlobalStorage(), clang::VarDecl::isExceptionVariable(), clang::Decl::isImplicit(), clang::VarDecl::isInitCapture(), clang::VarDecl::isLocalVarDecl(), clang::Type::isRVVSizelessBuiltinType(), clang::Type::isScalarType(), clang::Type::isVectorType(), and recordIsNotEmpty().
Referenced by findVar().