clang 22.0.0git
ASTContext.h File Reference

Defines the clang::ASTContext interface. More...

#include "clang/AST/ASTFwd.h"
#include "clang/AST/CanonicalType.h"
#include "clang/AST/CommentCommandTraits.h"
#include "clang/AST/ComparisonCategories.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/PrettyPrinter.h"
#include "clang/AST/RawCommentList.h"
#include "clang/AST/SYCLKernelInfo.h"
#include "clang/AST/TemplateName.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/PartialDiagnostic.h"
#include "clang/Basic/SourceLocation.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/Support/TypeSize.h"
#include <optional>
#include "clang/Basic/BuiltinTemplates.inc"
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/OpenCLExtensionTypes.def"
#include "clang/Basic/AArch64ACLETypes.def"
#include "clang/Basic/PPCTypes.def"
#include "clang/Basic/RISCVVTypes.def"
#include "clang/Basic/WebAssemblyReferenceTypes.def"
#include "clang/Basic/AMDGPUTypes.def"
#include "clang/Basic/HLSLIntangibleTypes.def"

Go to the source code of this file.

Classes

struct  clang::TypeInfo
struct  clang::TypeInfoChars
class  clang::ASTContext
 Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic analysis of a file. More...
struct  clang::ASTContext::CXXRecordDeclRelocationInfo
struct  clang::ASTContext::CUDAConstantEvalContext
struct  clang::ASTContext::CUDAConstantEvalContextRAII
struct  clang::ASTContext::BuiltinVectorTypeInfo
struct  clang::ASTContext::SectionInfo
struct  llvm::DenseMapInfo< llvm::FoldingSetNodeID >

Namespaces

namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::Builtin
namespace  clang::comments
namespace  clang::interp
namespace  clang::serialization

Macros

#define BuiltinTemplate(BTName)
#define BuiltinTemplate(BTName)
#define BuiltinTemplate(BTName)
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix)
#define EXT_OPAQUE_TYPE(ExtType, Id, Ext)
#define SVE_TYPE(Name, Id, SingletonId)
#define PPC_VECTOR_TYPE(Name, Id, Size)
#define RVV_TYPE(Name, Id, SingletonId)
#define WASM_TYPE(Name, Id, SingletonId)
#define AMDGPU_TYPE(Name, Id, SingletonId, Width, Align)
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId)
#define BuiltinTemplate(BTName)
#define OPT_LIST(V)
#define V(N, I)
#define V(N, I)

Typedefs

typedef SmallVector< CXXBaseSpecifier *, 4 > clang::CXXCastPath
 A simple array of base specifiers.

Enumerations

enum class  clang::AlignRequirementKind { clang::None , clang::RequiredByTypedef , clang::RequiredByRecord , clang::RequiredByEnum }

Functions

const StreamingDiagnosticclang::operator<< (const StreamingDiagnostic &DB, const ASTContext::SectionInfo &Section)
 Insertion operator for diagnostics.
Selector clang::GetNullarySelector (StringRef name, ASTContext &Ctx)
 Utility function for constructing a nullary selector.
Selector clang::GetUnarySelector (StringRef name, ASTContext &Ctx)
 Utility function for constructing an unary selector.
void * operator new (size_t Bytes, const clang::ASTContext &C, size_t Alignment)
 Placement new for using the ASTContext's allocator.
void operator delete (void *Ptr, const clang::ASTContext &C, size_t)
 Placement delete companion to the new above.
void * operator new[] (size_t Bytes, const clang::ASTContext &C, size_t Alignment)
 This placement form of operator new[] uses the ASTContext's allocator for obtaining memory.
void operator delete[] (void *Ptr, const clang::ASTContext &C, size_t)
 Placement delete[] companion to the new[] above.

Detailed Description

Defines the clang::ASTContext interface.

Definition in file ASTContext.h.

Macro Definition Documentation

◆ AMDGPU_TYPE

#define AMDGPU_TYPE ( Name,
Id,
SingletonId,
Width,
Align )
Value:
CanQualType SingletonId;

Definition at line 1275 of file ASTContext.h.

◆ BuiltinTemplate [1/4]

#define BuiltinTemplate ( BTName)
Value:
mutable IdentifierInfo *Name##BTName = nullptr;

Definition at line 419 of file ASTContext.h.

Referenced by clang::ASTContext::buildBuiltinTemplateDecl(), clang::BuiltinTemplateDecl::classofKind(), and clang::Decl::getIdentifierNamespaceForKind().

◆ BuiltinTemplate [2/4]

#define BuiltinTemplate ( BTName)
Value:
mutable BuiltinTemplateDecl *Decl##BTName = nullptr;

Definition at line 419 of file ASTContext.h.

◆ BuiltinTemplate [3/4]

#define BuiltinTemplate ( BTName)
Value:
BuiltinTemplateDecl *get##BTName##Decl() const;

Definition at line 419 of file ASTContext.h.

◆ BuiltinTemplate [4/4]

#define BuiltinTemplate ( BTName)
Value:
IdentifierInfo *get##BTName##Name() const { \
if (!Name##BTName) \
Name##BTName = &Idents.get(#BTName); \
return Name##BTName; \
}

Definition at line 419 of file ASTContext.h.

◆ EXT_OPAQUE_TYPE

#define EXT_OPAQUE_TYPE ( ExtType,
Id,
Ext )
Value:
CanQualType Id##Ty;

Definition at line 1261 of file ASTContext.h.

◆ HLSL_INTANGIBLE_TYPE

#define HLSL_INTANGIBLE_TYPE ( Name,
Id,
SingletonId )
Value:
CanQualType SingletonId;

Definition at line 1278 of file ASTContext.h.

◆ IMAGE_TYPE

#define IMAGE_TYPE ( ImgType,
Id,
SingletonId,
Access,
Suffix )
Value:
CanQualType SingletonId;

Definition at line 1253 of file ASTContext.h.

◆ OPT_LIST

#define OPT_LIST ( V)
Value:
V(ExpandPointedToStructures, 0) \
V(ExpandStructures, 1) \
V(IsOutermostType, 2) \
V(EncodingProperty, 3) \
V(IsStructField, 4) \
V(EncodeBlockParameters, 5) \
V(EncodeClassNames, 6) \
#define V(N, I)

Definition at line 3575 of file ASTContext.h.

◆ PPC_VECTOR_TYPE

#define PPC_VECTOR_TYPE ( Name,
Id,
Size )
Value:
CanQualType Id##Ty;

Definition at line 1267 of file ASTContext.h.

◆ RVV_TYPE

#define RVV_TYPE ( Name,
Id,
SingletonId )
Value:
CanQualType SingletonId;

Definition at line 1270 of file ASTContext.h.

◆ SVE_TYPE

#define SVE_TYPE ( Name,
Id,
SingletonId )
Value:
CanQualType SingletonId;

Definition at line 1264 of file ASTContext.h.

◆ V [1/2]

#define V ( N,
I )
Value:
ObjCEncOptions& set##N() { Bits |= 1 << I; return *this; }
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 3584 of file ASTContext.h.

Referenced by hlsl::abs(), hlsl::abs(), hlsl::abs(), hlsl::abs(), hlsl::abs(), hlsl::abs(), hlsl::abs(), hlsl::abs(), clang::OpenCLOptions::acceptsPragma(), clang::ActionResult< PtrTy, true >::ActionResult(), clang::Sema::ActOnGCCAsmStmtString(), clang::Sema::ActOnLambdaExpressionAfterIntroducer(), clang::SemaOpenMP::ActOnOpenMPAtomicDirective(), clang::ento::BasicValueFactory::Add1(), clang::CodeGen::CodeGenFunction::AddAMDGPUFenceAddressSpaceMMRA(), clang::threadSafety::til::BasicBlock::addArgument(), LimitedRegionBindingsRef::addBinding(), LimitedRegionBindingsRef::addBinding(), addCastTransition(), clang::driver::toolchains::Darwin::addClangCC1ASTargetOptions(), clang::ASTContext::addDestruction(), clang::ento::ExplodedGraph::addEndOfPath(), clang::markup::AddFID(), clang::markup::AddFID(), clang::AddFlagValue::AddFlagValue(), clang::DiagnosticBuilder::addFlagValue(), addFlexibleArrayMemberInitSize(), addIfPresent(), clang::Sema::AddImplicitMSFunctionNoBuiltinAttr(), clang::threadSafety::til::BasicBlock::addInstruction(), clang::driver::tools::addLinkerCompressDebugSectionsOption(), clang::ento::ExplodedNode::addPredecessor(), clang::StreamingDiagnostic::AddString(), clang::StreamingDiagnostic::AddTaggedVal(), clang::ento::taint::addTaint(), adjustReturnValue(), applyGadgets(), ARMMVEVectorElementReverse(), ARMMVEVectorReinterpret(), ARMMVEVectorSplat(), hlsl::asfloat(), hlsl::asint(), assumeCondition(), clang::ento::RangedConstraintManager::assumeSymEQ(), clang::ento::RangedConstraintManager::assumeSymGE(), clang::ento::RangedConstraintManager::assumeSymGT(), clang::ento::RangedConstraintManager::assumeSymLE(), clang::ento::RangedConstraintManager::assumeSymLT(), clang::ento::RangedConstraintManager::assumeSymNE(), hlsl::asuint(), hlsl::asuint(), clang::ento::StoreManager::BindDefaultInitial(), clang::ento::ProgramState::bindDefaultInitial(), clang::ento::ProgramState::BindExpr(), clang::ento::EnvironmentManager::bindExpr(), clang::ento::ProgramState::bindLoc(), clang::ento::ProgramState::bindLoc(), hlsl::__detail::bit_cast(), clang::interp::IntegralAP< false >::bitcastFromMemory(), clang::BitsUnpacker::BitsUnpacker(), clang::CodeGen::CodeGenFunction::BuildBlockRelease(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXDefaultInitExpr(), clang::Sema::BuildPackIndexingType(), bytes(), clang::Value::convertFwd< T >::cast(), clang::Value::convertFwd< T * >::cast(), clang::ento::SMTConv::castAPSInt(), clang::Sema::CheckCompletedCXXClass(), clang::Sema::CheckConvertedConstantExpression(), clang::ento::retaincountchecker::RetainCountChecker::checkDeadSymbols(), CheckLValueConstantExpression(), clang::ento::ConstraintManager::checkNull(), CheckRealImagOperand(), clang::ento::retaincountchecker::RetainCountChecker::checkSummary(), clang::ento::DefinedOrUnknownSVal::classof(), clang::ento::DefinedSVal::classof(), clang::ento::Loc::classof(), clang::ento::loc::ConcreteInt::classof(), clang::ento::loc::GotoLabel::classof(), clang::ento::loc::MemRegionVal::classof(), clang::ento::NonLoc::classof(), clang::ento::nonloc::CompoundVal::classof(), clang::ento::nonloc::ConcreteInt::classof(), clang::ento::nonloc::LazyCompoundVal::classof(), clang::ento::nonloc::LocAsInteger::classof(), clang::ento::nonloc::PointerToMember::classof(), clang::ento::nonloc::SymbolVal::classof(), clang::ento::UndefinedVal::classof(), clang::ento::UnknownVal::classof(), CoerceScalableToFixed(), clang::ento::ExprEngine::computeObjectUnderConstruction(), clang::ento::loc::ConcreteInt::ConcreteInt(), clang::ento::nonloc::ConcreteInt::ConcreteInt(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::visualstudio::Linker::ConstructJob(), ConvertAPValueToString(), convertOffsetsFromSvalToUnsigneds(), clang::interp::IntegralAP< false >::copy(), clang::threadSafety::CopyOnWriteVector< NameVarPair >::CopyOnWriteVector(), clang::EnumConstantDecl::Create(), clang::FloatingLiteral::Create(), clang::IntegerLiteral::Create(), clang::FixedPointLiteral::CreateFromRawInt(), clang::ento::ExplodedGraph::createUncachedNode(), ctorRecord(), clang::CudaVersionToString(), clang::CXXBaseSpecifier::CXXBaseSpecifier(), hlsl::__detail::d3d_color_to_ubyte4_impl(), hlsl::D3DCOLORtoUBYTE4(), dereference(), clang::ento::ExplodedGraph::designateAsRoot(), destroyBase(), clang::driver::DeviceLibABIVersion::DeviceLibABIVersion(), DiagnoseInvalidUnicodeCharacterName(), clang::dataflow::Environment::dump(), clang::interp::InterpStack::dump(), clang::interp::Program::dump(), clang::CodeGen::CodeGenFunction::EmitAArch64BuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitAMDGPUBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), EmitBaseInitializer(), clang::interp::ByteCodeEmitter::emitBool(), clang::interp::EvalEmitter::emitBool(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CIRGen::CIRGenFunction::emitCastLValue(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CodeGenFunction::EmitCheckValue(), emitClauseForBareTargetDirective(), clang::CodeGen::CodeGenFunction::EmitCommonNeonBuiltinExpr(), clang::CodeGen::CGOpenMPRuntime::emitDependClause(), EmitFAbs(), clang::CodeGen::CodeGenFunction::EmitFakeUse(), clang::CodeGen::CodeGenFunction::EmitFieldAnnotations(), EmitFromInt(), clang::CodeGen::CodeGenFunction::EmitFromMemory(), EmitFunctionDeclLValue(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), EmitGlobalVarDeclLValue(), EmitHLSLAggregateSplatCast(), EmitHLSLElementwiseCast(), EmitHLSLElementwiseCast(), EmitHLSLScalarFlatCast(), clang::CodeGen::CodeGenFunction::EmitIndirectGotoStmt(), EmitIsNegativeTestHelper(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), clang::CodeGen::CodeGenFunction::EmitNeonShiftVector(), clang::CodeGen::CodeGenFunction::EmitNeonSplat(), clang::CodeGen::CodeGenFunction::EmitNeonSplat(), clang::CodeGen::CodeGenFunction::EmitNonNullRValueCheck(), clang::CodeGen::CodeGenFunction::EmitNVPTXBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), clang::CodeGen::CodeGenFunction::EmitObjCSelectorLValue(), emitOMPAtomicCaptureExpr(), emitOMPAtomicCompareExpr(), emitOMPAtomicExpr(), emitOMPAtomicReadExpr(), clang::CodeGen::CodeGenFunction::EmitOMPFirstprivateClause(), clang::CodeGen::CGOpenMPRuntimeGPU::emitParallelCall(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitRVVUnitStridedSegLoadFFTupleBuiltin(), emitRVVVLEFFBuiltin(), EmitSignBit(), clang::CodeGen::CodeGenFunction::EmitStoreOfComplex(), EmitToInt(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), clang::CodeGen::CodeGenFunction::EmitVarAnnotations(), clang::OpenCLOptions::enable(), clang::SarifDocumentWriter::endRun(), EnterNewDeleteCleanup(), clang::EnumConstantDecl::EnumConstantDecl(), EnumToString(), clang::ento::ExprEngine::escapeValues(), clang::ento::SValBuilder::evalCast(), clang::ento::ExprEngine::evalLoad(), EvaluateBuiltinConstantP(), EvaluateCallArg(), findCompleteObject(), clang::FixedPointLiteral::FixedPointLiteral(), framePointerImpliesLeafFramePointer(), FunctionToString(), generateVisitorsDiagnostics(), clang::CodeGen::RValue::get(), clang::CodeGen::CodeGenFunction::GetAddressOfDirectBaseInCompleteClass(), clang::CodeGen::CodeGenModule::GetAddrOfMSGuidDecl(), clang::CodeGen::CodeGenModule::GetAddrOfUnnamedGlobalConstantDecl(), GetApproxValue(), GetApproxValue(), getAsArrayToPointerDecayedDecl(), getAsSimpleValueDeclRef(), llvm::PointerLikeTypeTraits< clang::DynamicAllocLValue >::getAsVoidPointer(), llvm::PointerLikeTypeTraits< clang::TypeInfoLValue >::getAsVoidPointer(), clang::threadSafety::til::getCanonicalVal(), clang::StringLiteral::getCodeUnitS(), getConcreteIntegerValue(), clang::diff::SyntaxTree::Impl::getDeclValue(), getExistingLazyBinding(), getExplicitVisibilityAux(), clang::ento::AnyCXXConstructorCall::getExtraInvalidatedValues(), clang::DynamicAllocLValue::getFromOpaqueValue(), clang::TypeInfoLValue::getFromOpaqueValue(), llvm::DenseMapInfo< clang::NestedNameSpecifier >::getHashValue(), llvm::DenseMapInfo< ObjCSummaryKey >::getHashValue(), clang::ento::ExprEngine::getIndexOfElementToConstruct(), clang::ento::CXXInstanceCall::getInitialStackFrameContents(), clang::ento::ExprEngine::getInitialState(), clang::ento::PathSensitiveBugReport::getInterestingnessKind(), getKnownValue(), clang::CodeGen::CodeGenModule::GetLLVMVisibility(), clang::Decl::getMaxAlignment(), clang::ento::NilReceiverBRVisitor::getNilReceiver(), clang::ento::ExplodedGraph::getNode(), clang::ento::ExprEngine::getObjectUnderConstruction(), getOriginParam(), clang::ento::ExprEngine::getPendingArrayDestruction(), clang::ento::ExprEngine::getPendingInitLoop(), clang::ento::BasicValueFactory::getPersistentSValWithData(), clang::CodeGen::CodeGenModule::getRawFunctionPointer(), clang::AnalysisDeclContext::getReferencedBlockVars(), clang::Sema::GetSignedSizelessVectorType(), clang::Sema::GetSignedVectorType(), clang::ento::ProgramState::getSVal(), clang::ento::taint::getTaintedSymbols(), clang::ento::taint::getTaintedSymbolsImpl(), clang::targets::SystemZTargetInfo::getTargetDefines(), clang::ASTContext::getTemplateParamObjectDecl(), clang::ento::BasicValueFactory::getValue(), clang::FloatingLiteral::getValueAsApproximateDouble(), getValueDeclFromSExpr(), clang::ento::MemRegionManager::getVarRegion(), clang::ento::retaincountchecker::RetainCountChecker::handleAutoreleaseCounts(), handleAvailabilityAttr(), clang::ento::ExprEngine::handleConstructionContext(), clang::ento::ExprEngine::handleLValueBitCast(), handleSentinelAttr(), clang::ento::retaincountchecker::RetainCountChecker::handleSymbolDeath(), initBase(), clang::dataflow::insertIfGlobal(), clang::dataflow::insertIfLocal(), clang::IntegerLiteral::IntegerLiteral(), clang::interp::IntegralAP< false >::IntegralAP(), clang::interp::interp__builtin_memchr(), clang::interp::interp__builtin_strcmp(), llvm::isDenseMapKeyEmpty(), llvm::isDenseMapKeyTombstone(), clang::ProfileList::isFileExcluded(), clang::CodeGen::CodeGenModule::isFunctionBlockedByProfileList(), clang::CodeGen::CodeGenModule::isFunctionBlockedFromProfileInstr(), clang::ProfileList::isFunctionExcluded(), clang::ento::CheckerContext::isGreaterOrEqual(), hlsl::isinf(), hlsl::isinf(), hlsl::isinf(), hlsl::isinf(), clang::ento::PathSensitiveBugReport::isInteresting(), isInterestingExpr(), clang::ento::CheckerContext::isNegative(), clang::ento::ProgramState::isNonNull(), clang::ento::ProgramState::isNull(), llvm::CastInfo< To, From, std::enable_if_t< std::is_base_of<::clang::ento::SVal, From >::value > >::isPossible(), clang::ento::taint::isTainted(), clang::driver::tools::isTLSDESCEnabled(), isVarAnInterestingCondition(), isZeroInitialized(), clang::lifetimes::internal::utils::join(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::LazyGenerationalUpdatePtr(), clang::LinkageInfo::LinkageInfo(), clang::APValue::LValueBase::LValueBase(), clang::APValue::LValueBase::LValueBase(), clang::CodeGen::CodeGenFunction::MakeAddrLValue(), clang::CodeGen::CodeGenFunction::MakeNaturalAlignAddrLValue(), makeNaturalAlignAddrLValue(), clang::CodeGen::CodeGenFunction::MakeNaturalAlignPointeeAddrLValue(), clang::CodeGen::CodeGenFunction::MakeNaturalAlignPointeeRawAddrLValue(), clang::CodeGen::CodeGenFunction::MakeNaturalAlignRawAddrLValue(), clang::CodeGen::CodeGenFunction::MakeRawAddrLValue(), llvm::yaml::MappingContextTraits< custom_flag::Declaration, llvm::SmallSet< std::string, 32 > >::mapping(), llvm::yaml::MappingContextTraits< custom_flag::ValueDetail, llvm::SmallSet< std::string, 32 > >::mapping(), llvm::yaml::MappingTraits< MultilibGroupSerialization >::mapping(), llvm::yaml::MappingTraits< MultilibSerialization >::mapping(), llvm::yaml::MappingTraits< Versioned >::mapping(), clang::ento::PathSensitiveBugReport::markInteresting(), MarkVarDeclODRUsed(), clang::ento::NoOwnershipChangeVisitor::maybeEmitNoteForParameters(), mayBeSuccess(), maybeUpdateVD(), mustMaintainValidFrameChain(), MVEImmediateShr(), needsRecordDtor(), clang::dataflow::negLit(), clang::LiveVariables::Observer::observeStmt(), clang::interp::OffsetHelper(), clang::DiagnosticBuilder::operator<<(), clang::DiagnosticBuilder::operator<<(), clang::ento::operator<<(), clang::operator<<(), clang::PartialDiagnostic::operator<<(), clang::PartialDiagnostic::operator<<(), clang::SemaBase::ImmediateDiagBuilder::operator<<(), clang::SemaBase::SemaDiagnosticBuilder::operator<<(), clang::threadSafety::CopyOnWriteVector< NameVarPair >::operator=(), clang::LiveVariables::LivenessValues::operator==(), clang::SanitizerMask::operator==(), clang::Interpreter::ParseAndExecute(), ParsePreprocessorArgs(), clang::ento::ConditionBRVisitor::patternMatch(), clang::CodeGen::TargetCodeGenInfo::performAddrSpaceCast(), performTypeAdjustment(), populateObjCForDestinationSet(), clang::dataflow::posLit(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::PrettyPrinter(), print(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printBBInstr(), printHelper(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printPhi(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printProject(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printVariable(), clang::ento::ExprEngine::processCallExit(), clang::ento::ExprEngine::processIndirectGoto(), clang::ento::retaincountchecker::RetainCountChecker::processObjCLiterals(), clang::ento::retaincountchecker::RetainCountChecker::processSummaryOfInlined(), clang::ento::ExprEngine::ProcessTemporaryDtor(), clang::ento::ProgramState::Profile(), clang::TemplateParamObjectDecl::Profile(), profileIntValue(), clang::interp::pushInteger(), clang::ASTRecordReader::readAttr(), regionMatchesCXXRecordType(), REGISTER_TRAIT_WITH_PROGRAMSTATE(), clang::ento::taint::removeTaint(), clang::threadSafety::CopyOnWriteVector< NameVarPair >::sameAs(), clang::ento::ScanReachableSymbols::scan(), clang::Selector::Selector(), clang::ento::BoolEPStat::set(), clang::ento::ProgramStateManager::set(), clang::ento::UnsignedEPStat::set(), clang::SanitizerMaskCutoffs::set(), clang::CallExpr::setADLCallKind(), clang::AttributeCommonInfo::setAttributeSpellingListIndex(), clang::TagDecl::setBeingDefined(), setBitRange(), clang::TargetInfo::setCommandLineOpenCLOpts(), clang::TagDecl::setCompleteDefinition(), clang::TagDecl::setCompleteDefinitionRequired(), clang::ForStmt::setConditionVariable(), clang::IfStmt::setConditionVariable(), clang::SwitchStmt::setConditionVariable(), clang::WhileStmt::setConditionVariable(), clang::CodeGen::CodeGenFunction::CGCapturedStmtInfo::setContextValue(), clang::CallExpr::setCoroElideSafe(), clang::Preprocessor::setCounterValue(), clang::installapi::HeaderFile::setExcluded(), clang::installapi::HeaderFile::setExtra(), clang::FunctionDecl::setFriendConstraintRefersToEnclosingTemplate(), clang::TypeCoupledDeclRefInfo::setFromOpaqueValue(), clang::CXXConstructExpr::setHadMultipleCandidates(), clang::DeclRefExpr::setHadMultipleCandidates(), clang::MemberExpr::setHadMultipleCandidates(), clang::RecordDecl::setHasFlexibleArrayMember(), clang::RecordDecl::setHasNonTrivialToPrimitiveCopyCUnion(), clang::RecordDecl::setHasNonTrivialToPrimitiveDefaultInitializeCUnion(), clang::RecordDecl::setHasNonTrivialToPrimitiveDestructCUnion(), clang::RecordDecl::setHasUninitializedExplicitInitFields(), clang::EnumConstantDecl::setInitVal(), clang::tooling::dependencies::PrebuiltModuleASTAttrs::setInStableDir(), clang::FunctionDecl::setIsMultiVersion(), clang::RecordDecl::setIsRandomized(), clang::OpaqueValueExpr::setIsUnique(), clang::CodeCompletionContext::setIsUsingDeclaration(), clang::CXXConstructExpr::setListInitialization(), setLLVMVisibility(), clang::RecordDecl::setNonTrivialToPrimitiveCopy(), clang::RecordDecl::setNonTrivialToPrimitiveDefaultInitialize(), clang::RecordDecl::setNonTrivialToPrimitiveDestroy(), clang::RecordDecl::setParamDestroyedInCallee(), clang::BaseUsingDecl::setShadowFlag(), clang::AsmStmt::setSimple(), clang::CXXConstructExpr::setStdInitListInitialization(), clang::Decl::setTopLevelDeclInObjCContainer(), clang::installapi::HeaderFile::setUmbrellaHeader(), clang::CallExpr::setUsesMemberSyntax(), clang::CXXBoolLiteralExpr::setValue(), clang::ObjCBoolLiteralExpr::setValue(), clang::FunctionDecl::setVirtualAsWritten(), clang::VisibleModuleSet::setVisible(), clang::AsmStmt::setVolatile(), clang::FunctionDecl::setWillHaveBody(), clang::CodeGen::AggValueSlot::setZeroed(), setZosTargetVersion(), clang::interp::Context::shouldBeGloballyIndexed(), showBRDefaultDiagnostics(), SignOrZeroExtend(), clang::threadSafety::til::simplifyToCanonicalVal(), clang::FileID::SourceManagerTestHelper, clang::EnumConstantDecl::StmtIteratorBase, clang::threadSafety::til::Store::Store(), clang::threadSafety::til::Store::Store(), clang::ento::BasicValueFactory::Sub1(), clang::OpenCLOptions::support(), clang::TargetInfo::supportAllOpenCLOpts(), clang::CodeGen::TargetCodeGenInfo::testFPKind(), clang::interp::IntegralAP< false >::toAPSInt(), toRefs(), clang::ento::bugreporter::Tracker::track(), clang::ento::bugreporter::trackStoredValue(), clang::threadSafety::til::Alloc::traverse(), clang::threadSafety::til::Apply::traverse(), clang::threadSafety::til::ArrayAdd::traverse(), clang::threadSafety::til::ArrayIndex::traverse(), clang::threadSafety::til::BasicBlock::traverse(), clang::threadSafety::til::BinaryOp::traverse(), clang::threadSafety::til::Branch::traverse(), clang::threadSafety::til::Call::traverse(), clang::threadSafety::til::Cast::traverse(), clang::threadSafety::til::Code::traverse(), clang::threadSafety::til::Field::traverse(), clang::threadSafety::til::Function::traverse(), clang::threadSafety::til::Future::traverse(), clang::threadSafety::til::Goto::traverse(), clang::threadSafety::til::Identifier::traverse(), clang::threadSafety::til::IfThenElse::traverse(), clang::threadSafety::til::Let::traverse(), clang::threadSafety::til::Literal::traverse(), clang::threadSafety::til::LiteralPtr::traverse(), clang::threadSafety::til::Load::traverse(), clang::threadSafety::til::Phi::traverse(), clang::threadSafety::til::Project::traverse(), clang::threadSafety::til::Return::traverse(), clang::threadSafety::til::SApply::traverse(), clang::threadSafety::til::SCFG::traverse(), clang::threadSafety::til::SFunction::traverse(), clang::threadSafety::til::Store::traverse(), clang::threadSafety::til::UnaryOp::traverse(), clang::threadSafety::til::Undefined::traverse(), clang::threadSafety::til::Variable::traverse(), clang::threadSafety::til::Wildcard::traverse(), clang::interp::IntegralAP< false >::truncateCast(), clang::SemaOpenMP::tryCaptureOpenMPLambdas(), tryUseTestFPKind(), clang::Type::TypePropertyCache, clang::dataflow::unpackValue(), clang::ento::ExprEngine::updateObjectsUnderConstruction(), clang::ento::retaincountchecker::RetainCountChecker::updateSymbol(), clang::BitsUnpacker::updateValue(), llvm::yaml::MappingContextTraits< custom_flag::Declaration, llvm::SmallSet< std::string, 32 > >::validate(), llvm::yaml::MappingContextTraits< custom_flag::ValueDetail, llvm::SmallSet< std::string, 32 > >::validate(), llvm::yaml::MappingTraits< MultilibSerialization >::validate(), VectorUnzip(), clang::CodeGen::CodeGenFunction::vectorWrapScalar16(), clang::ento::ExprEngine::Visit(), clang::ento::SValVisitor< ImplClass, RetTy >::Visit(), clang::ento::ExprEngine::VisitArraySubscriptExpr(), clang::ento::ExprEngine::VisitBinaryOperator(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitBindingDecl(), clang::ento::ExprEngine::VisitBlockExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::ento::ExprEngine::VisitCompoundLiteralExpr(), clang::ento::SValExplainer::VisitConcreteInt(), clang::ento::SValExplainer::VisitConcreteInt(), clang::ento::ExprEngine::VisitCXXCatchStmt(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ento::ExprEngine::VisitCXXThisExpr(), clang::interp::Compiler< Emitter >::VisitCXXUuidofExpr(), clang::interp::Compiler< Emitter >::visitDeclRef(), clang::ento::ExprEngine::VisitGuardedExpr(), clang::ento::ExprEngine::VisitLambdaExpr(), clang::ento::SValExplainer::VisitLazyCompoundVal(), clang::ento::SValExplainer::VisitMemRegionVal(), clang::interp::Compiler< Emitter >::VisitSourceLocExpr(), clang::ento::SValExplainer::VisitSVal(), clang::ento::SValVisitor< ImplClass, RetTy >::VisitSVal(), clang::ento::SValExplainer::VisitSymbolRegionValue(), clang::ento::SValExplainer::VisitSymbolVal(), clang::ento::ExprEngine::VisitUnaryOperator(), clang::ento::SValExplainer::VisitUndefinedVal(), clang::ento::SValExplainer::VisitUnknownVal(), clang::CodeGen::CodeGenFunction::VolatilizeTryBlocks(), clang::threadSafety::CFGWalker::walk(), LimitedRegionBindingsRef::withValuesEscaped(), LimitedRegionBindingsRef::withValuesEscaped(), clang::interp::EvalEmitter::~EvalEmitter(), and clang::ento::SValBuilder::~SValBuilder().

◆ V [2/2]

#define V ( N,
I )
Value:
bool N() const { return Bits & 1 << I; }

Definition at line 3584 of file ASTContext.h.

◆ WASM_TYPE

#define WASM_TYPE ( Name,
Id,
SingletonId )
Value:
CanQualType SingletonId;

Definition at line 1273 of file ASTContext.h.

Function Documentation

◆ operator delete()

void operator delete ( void * Ptr,
const clang::ASTContext & C,
size_t  )
inline

Placement delete companion to the new above.

This operator is just a companion to the new above. There is no way of invoking it directly; see the new operator for more details. This operator is called implicitly by the compiler if a placement new expression using the ASTContext throws in the object constructor.

Definition at line 3790 of file ASTContext.h.

◆ operator delete[]()

void operator delete[] ( void * Ptr,
const clang::ASTContext & C,
size_t  )
inline

Placement delete[] companion to the new[] above.

This operator is just a companion to the new[] above. There is no way of invoking it directly; see the new[] operator for more details. This operator is called implicitly by the compiler if a placement new[] expression using the ASTContext throws in the object constructor.

Definition at line 3828 of file ASTContext.h.

◆ operator new()

void * operator new ( size_t Bytes,
const clang::ASTContext & C,
size_t Alignment )
inline

Placement new for using the ASTContext's allocator.

This placement form of operator new uses the ASTContext's allocator for obtaining memory.

IMPORTANT: These are also declared in clang/AST/ASTContextAllocate.h! Any changes here need to also be made there.

We intentionally avoid using a nothrow specification here so that the calls to this operator will not perform a null check on the result – the underlying allocator never returns null pointers.

Usage looks like this (assuming there's an ASTContext 'Context' in scope):

// Default alignment (8)
IntegerLiteral *Ex = new (Context) IntegerLiteral(arguments);
// Specific alignment
IntegerLiteral *Ex2 = new (Context, 4) IntegerLiteral(arguments);

Memory allocated through this placement new operator does not need to be explicitly freed, as ASTContext will free all of this memory when it gets destroyed. Please note that you cannot use delete on the pointer.

Parameters
BytesThe number of bytes to allocate. Calculated by the compiler.
CThe ASTContext that provides the allocator.
AlignmentThe alignment of the allocated memory (if the underlying allocator supports it).
Returns
The allocated memory. Could be nullptr.

Definition at line 3779 of file ASTContext.h.

◆ operator new[]()

void * operator new[] ( size_t Bytes,
const clang::ASTContext & C,
size_t Alignment )
inline

This placement form of operator new[] uses the ASTContext's allocator for obtaining memory.

We intentionally avoid using a nothrow specification here so that the calls to this operator will not perform a null check on the result – the underlying allocator never returns null pointers.

Usage looks like this (assuming there's an ASTContext 'Context' in scope):

// Default alignment (8)
char *data = new (Context) char[10];
// Specific alignment
char *data = new (Context, 4) char[10];

Memory allocated through this placement new[] operator does not need to be explicitly freed, as ASTContext will free all of this memory when it gets destroyed. Please note that you cannot use delete on the pointer.

Parameters
BytesThe number of bytes to allocate. Calculated by the compiler.
CThe ASTContext that provides the allocator.
AlignmentThe alignment of the allocated memory (if the underlying allocator supports it).
Returns
The allocated memory. Could be nullptr.

Definition at line 3817 of file ASTContext.h.