Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic analysis of a file. More...
#include "clang/AST/ASTContext.h"
DeclListNode
or returns one from the ListNodeFreeList
pool.
DeclListNode
by returning it to the ListNodeFreeList
pool.
Comment
to OriginalD
and to its redeclaration chain and removes the redeclaration chain from the set of commentless chains.
Decls
.
Inst
is an instantiation of the static data member template Tmpl
of a class template.
Inst
is an instantiation of another (possibly unresolved) using decl, return it.
Inst
is an instantiation of the using decl Pattern
of a class template.
Inst
is an instantiation of another using-enum decl, return it.
Inst
is an instantiation of the using enum decl Pattern
of a class template.
Method
overrides the given Overridden
method.
Method
.
ND
has been merged into module M
, and should be visible whenever M
is visible.
Def
has been merged.
M1
and M2
are in the same module.
restrict
qualified type.
volatile
qualified type.
const
qualified type.
id
has been defined to, which may be different from the built-in id
if id
has been typedef'd.
id
.
Class
has been defined to, which may be different from the built-in Class
if Class
has been typedef'd.
T
into S
.
T
into S
.
QT
into S
.
Decl
into S
.
Decl
into S
.
T
for Objective-C encoding purpose, in characters.
id
type in Objective-C.
id
type.
Class
type.
Protocol
class.
Protocol
class.
__builtin_va_list
type.
__builtin_va_list
type.
__va_list_tag
type used to help define the __builtin_va_list
type for some targets.
__builtin_ms_va_list
type.
__builtin_ms_va_list
type.
const
, volatile
, or restrict
qualifiers.
std::vector
.
MetaFun::template
apply.
MetaFun::template
operator+.
T
, in bits.
T
, in characters.
T
, in bits.
T
, before alignment adjustments, in bits.
T
, in characters.
T
, in characters.
T
for the current target, in bits.
T
.
T
.
D
.
D
, which indicates its size and field position information.
T
is null pointer, assume the target in ASTContext.
T
.
T1
and T2
are equivalent.
X
and Y
are equivalent.
Quals
.
PromotableType
will promote to: C99 6.3.1.1p2, assuming that PromotableType
is a promotable integer type.
Value
and integer Type
.
D
, or nullptr if none exists.
D
, or nullptr if none exists.
ND
belongs to if it is an Objective-C method/property/ivar etc.
VD
, or nullptr if none exists.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic analysis of a file.
Definition at line 188 of file ASTContext.h.
◆ import_range ◆ overridden_cxx_method_iterator ◆ overridden_method_range ◆ TemplateOrSpecializationInfoA type synonym for the TemplateOrInstantiation mapping.
Definition at line 507 of file ASTContext.h.
◆ GetBuiltinTypeError Enumerator GE_NoneNo error.
GE_Missing_typeMissing a type.
GE_Missing_stdioMissing a type from <stdio.h>
GE_Missing_setjmpMissing a type from <setjmp.h>
GE_Missing_ucontextMissing a type from <ucontext.h>
Definition at line 2389 of file ASTContext.h.
◆ InlineVariableDefinitionKind Enumerator NoneNot an inline variable.
WeakWeak definition of inline variable.
WeakUnknownWeak for now, might become strong later in this TU.
StrongStrong definition.
Definition at line 3500 of file ASTContext.h.
◆ NeedExtraManglingDecl_t ◆ PragmaSectionFlag Enumerator PSF_None PSF_Read PSF_Write PSF_Execute PSF_Implicit PSF_ZeroInit PSF_InvalidDefinition at line 3554 of file ASTContext.h.
◆ ASTContext() [1/2] ◆ ASTContext() [2/2] clang::ASTContext::ASTContext ( const ASTContext & ) delete ◆ ~ASTContext() ASTContext::~ASTContext ( ) ◆ addComment() void ASTContext::addComment ( const RawComment & RC ) ◆ addCopyConstructorForExceptionObject() ◆ AddDeallocation() void ASTContext::AddDeallocation ( void(*)(void *) Callback, void * Data ) constAdd a deallocation callback that will be invoked when the ASTContext is destroyed.
Definition at line 985 of file ASTContext.cpp.
References clang::Data.
Referenced by addDestruction().
◆ addDeclaratorForUnnamedTagDecl() ◆ addDestruction() void clang::ASTContext::addDestruction ( T * Ptr ) const inline ◆ addedLocalImportDecl() void ASTContext::addedLocalImportDecl ( ImportDecl * Import ) ◆ addLazyModuleInitializers() ◆ addModuleInitializer() void ASTContext::addModuleInitializer ( Module * M, Decl * Init ) ◆ addOverriddenMethod() ◆ addressSpaceMapManglingFor() bool clang::ASTContext::addressSpaceMapManglingFor ( LangAS AS ) const inline ◆ addTranslationUnitDecl() void clang::ASTContext::addTranslationUnitDecl ( ) inline ◆ addTypedefNameForUnnamedTagDecl() ◆ adjustDeducedFunctionResultType() ◆ adjustExceptionSpec() ◆ adjustFunctionResultType() ◆ adjustFunctionType()Change the ExtInfo on a function type.
Definition at line 3649 of file ASTContext.cpp.
References clang::FunctionProtoType::ExtProtoInfo::ExtInfo, clang::FunctionType::getExtInfo(), getFunctionNoProtoType(), getFunctionType(), clang::Result, and clang::T.
Referenced by clang::Sema::adjustMemberFunctionCC(), clang::Sema::CheckMain(), clang::Sema::CheckMSVCRTEntryPoint(), handleFunctionTypeAttr(), clang::Sema::IsFunctionConversion(), and clang::Sema::MergeFunctionDecl().
◆ adjustObjCTypeParamBoundType() ◆ adjustStringLiteralBaseType() ◆ adjustType()Rebuild a type, preserving any existing type sugar.
For function types, you probably want to just use adjustFunctionResultType
and friends instead.
Definition at line 3605 of file ASTContext.cpp.
References adjustType(), getAdjustedType(), getAttributedType(), getBTFTagAttributedType(), getElaboratedType(), getMacroQualifiedType(), getParenType(), and clang::Type::getTypeClass().
Referenced by adjustFunctionResultType(), adjustType(), and getFunctionTypeWithExceptionSpec().
◆ Allocate() [1/2] T * clang::ASTContext::Allocate ( size_t Num =1
) const inline ◆ Allocate() [2/2] void * clang::ASTContext::Allocate ( size_t Size, unsigned Align = 8
) const inline
Definition at line 754 of file ASTContext.h.
Referenced by Allocate(), ASTAllocateString(), clang::ResolvedUnexpandedPackExpr::Create(), clang::FunctionDecl::DefaultedOrDeletedFunctionInfo::Create(), clang::DependentFunctionTemplateSpecializationInfo::Create(), clang::PackIndexingExpr::Create(), clang::SizeOfPackExpr::Create(), clang::RecoveryExpr::Create(), clang::ObjCTypeParamList::create(), clang::LambdaExpr::Create(), clang::UnresolvedMemberExpr::Create(), clang::UnresolvedLookupExpr::Create(), clang::PseudoObjectExpr::Create(), clang::ConstantExpr::Create(), clang::DependentScopeDeclRefExpr::Create(), clang::DeclRefExpr::Create(), clang::OMPArrayShapingExpr::Create(), clang::OMPIteratorExpr::Create(), clang::CXXUnresolvedConstructExpr::Create(), clang::FunctionParmPackExpr::Create(), clang::ObjCAtTryStmt::Create(), clang::GenericSelectionExpr::Create(), clang::CapturedStmt::Create(), clang::CXXNewExpr::Create(), clang::CXXTemporaryObjectExpr::Create(), clang::CXXDependentScopeMemberExpr::Create(), clang::UserDefinedLiteral::Create(), clang::CXXMemberCallExpr::Create(), clang::CallExpr::Create(), clang::CUDAKernelCallExpr::Create(), clang::CaseStmt::Create(), clang::CXXOperatorCallExpr::Create(), clang::CXXConstructExpr::Create(), clang::IfStmt::Create(), clang::PredefinedExpr::Create(), clang::CXXDefaultInitExpr::Create(), clang::ParenListExpr::Create(), clang::ReturnStmt::Create(), clang::SwitchStmt::Create(), clang::StringLiteral::Create(), clang::WhileStmt::Create(), clang::TemplateArgumentList::CreateCopy(), clang::ResolvedUnexpandedPackExpr::CreateDeserialized(), clang::SizeOfPackExpr::CreateDeserialized(), clang::PackIndexingExpr::CreateDeserialized(), clang::CapturedStmt::CreateDeserialized(), clang::RecoveryExpr::CreateEmpty(), clang::DeclRefExpr::CreateEmpty(), clang::MemberExpr::CreateEmpty(), clang::DependentScopeDeclRefExpr::CreateEmpty(), clang::ConstantExpr::CreateEmpty(), clang::CXXUnresolvedConstructExpr::CreateEmpty(), clang::GenericSelectionExpr::CreateEmpty(), clang::ObjCAtTryStmt::CreateEmpty(), clang::OMPArrayShapingExpr::CreateEmpty(), clang::OMPIteratorExpr::CreateEmpty(), clang::FunctionParmPackExpr::CreateEmpty(), clang::UnresolvedLookupExpr::CreateEmpty(), clang::UnresolvedMemberExpr::CreateEmpty(), clang::CaseStmt::CreateEmpty(), clang::IfStmt::CreateEmpty(), clang::PredefinedExpr::CreateEmpty(), clang::SwitchStmt::CreateEmpty(), clang::ReturnStmt::CreateEmpty(), clang::CXXDependentScopeMemberExpr::CreateEmpty(), clang::WhileStmt::CreateEmpty(), clang::CXXNewExpr::CreateEmpty(), clang::CXXConstructExpr::CreateEmpty(), clang::CXXTemporaryObjectExpr::CreateEmpty(), clang::CallExpr::CreateEmpty(), clang::CXXOperatorCallExpr::CreateEmpty(), clang::CXXMemberCallExpr::CreateEmpty(), clang::CUDAKernelCallExpr::CreateEmpty(), clang::UserDefinedLiteral::CreateEmpty(), clang::StringLiteral::CreateEmpty(), clang::ParenListExpr::CreateEmpty(), getCanonicalTemplateSpecializationType(), getCountAttributedType(), getDeclAttrs(), getDeducedTemplateName(), getDependentTemplateSpecializationType(), getElaboratedType(), clang::ASTReader::GetExternalCXXBaseSpecifiers(), getObjCInterfaceType(), getObjCObjectPointerType(), getObjCObjectType(), getObjCTypeParamType(), getOverloadedTemplateName(), getPackIndexingType(), getSubstTemplateTypeParmType(), getTemplateSpecializationType(), getTypedefType(), getUsingType(), clang::NestedNameSpecifierLocBuilder::getWithLocInContext(), clang::Decl::operator new(), clang::Sema::SaveNestedNameSpecifierAnnotation(), and clang::CXXRecordDecl::setCaptures().
◆ AllocateDeclListNode() ◆ AnyObjCImplementation() bool clang::ASTContext::AnyObjCImplementation ( ) inline ◆ applyObjCProtocolQualifiers()Apply Objective-C protocol qualifiers to the given type.
If this is for the canonical type of a type parameter, we can apply protocol qualifiers on the ObjCObjectPointerType.
Definition at line 6013 of file ASTContext.cpp.
References clang::ObjCObjectType::getBaseType(), getObjCObjectPointerType(), getObjCObjectType(), getObjCTypeParamType(), clang::ObjCObjectType::getTypeArgsAsWritten(), clang::ObjCObjectType::isKindOfTypeAsWritten(), ObjCBuiltinClassTy, ObjCBuiltinIdTy, clang::ObjCProtocolQualifiers< T >::qual_begin(), clang::ObjCProtocolQualifiers< T >::qual_end(), and clang::ast_matchers::type.
Referenced by getObjCTypeParamType().
◆ areCommonBaseCompatible()Definition at line 10894 of file ASTContext.cpp.
References clang::Type::castAs(), clang::declaresSameEntity(), clang::ObjCInterfaceDecl::getCanonicalDecl(), clang::ObjCObjectType::getInterface(), getIntersectionOfProtocols(), getObjCInterfaceType(), getObjCObjectPointerType(), getObjCObjectType(), clang::ObjCObjectPointerType::getObjectType(), clang::ObjCObjectType::getSuperClassType(), clang::ObjCObjectType::getTypeArgs(), clang::ObjCObjectType::getTypeArgsAsWritten(), clang::ObjCObjectType::isKindOfType(), clang::QualType::isNull(), clang::ObjCObjectType::isSpecialized(), clang::Result, and sameObjCTypeArgs().
Referenced by clang::SemaObjC::FindCompositeObjCPointerType().
◆ areComparableObjCPointerTypes() ◆ areCompatibleRVVTypes()Return true if the given types are an RISC-V vector builtin type and a VectorType that is a fixed-length representation of the RISC-V vector builtin type for a specific vector-length.
Definition at line 10381 of file ASTContext.cpp.
References BoolTy, clang::ASTContext::BuiltinVectorTypeInfo::ElementType, clang::Generic, clang::Type::getAs(), getBuiltinVectorTypeInfo(), getRVVTypeSize(), getTypeSize(), hasSameType(), clang::Type::isRVVSizelessBuiltinType(), clang::Type::isRVVVLSBuiltinType(), clang::Type::isVectorType(), clang::RVVFixedLengthData, clang::RVVFixedLengthMask, clang::RVVFixedLengthMask_1, clang::RVVFixedLengthMask_2, and clang::RVVFixedLengthMask_4.
Referenced by clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckImplicitConversion(), CompareStandardConversionSequences(), and IsVectorConversion().
◆ areCompatibleSveTypes()Return true if the given types are an SVE builtin and a VectorType that is a fixed-length representation of the SVE builtin for a specific vector-length.
Definition at line 10291 of file ASTContext.cpp.
References clang::Generic, clang::Type::getAs(), getBuiltinVectorTypeInfo(), clang::Type::getSveEltType(), getSVETypeSize(), getTypeSize(), hasSameType(), clang::SveFixedLengthData, and clang::SveFixedLengthPredicate.
Referenced by clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckImplicitConversion(), CompareStandardConversionSequences(), and IsVectorConversion().
◆ areCompatibleVectorTypes()Return true if the given vector types are of the same unqualified type or if they are equivalent to the same GCC vector type.
Definition at line 10245 of file ASTContext.cpp.
References clang::AltiVecBool, clang::AltiVecPixel, clang::Type::castAs(), clang::First, clang::VectorType::getElementType(), clang::VectorType::getNumElements(), clang::VectorType::getVectorKind(), hasSameType(), hasSameUnqualifiedType(), clang::Type::isVectorType(), clang::RVVFixedLengthData, clang::RVVFixedLengthMask, clang::RVVFixedLengthMask_1, clang::RVVFixedLengthMask_2, clang::RVVFixedLengthMask_4, clang::SveFixedLengthData, and clang::SveFixedLengthPredicate.
Referenced by clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckVectorOperands(), CompareStandardConversionSequences(), clang::Sema::IsPointerConversion(), and IsVectorConversion().
◆ areLaxCompatibleRVVTypes()Return true if the given vector types are lax-compatible RISC-V vector types as defined by -flax-vector-conversions=, which permits implicit conversions between vectors with different number of elements and/or incompatible element types, false otherwise.
Definition at line 10430 of file ASTContext.cpp.
References clang::LangOptionsBase::All, clang::Generic, clang::Type::getAs(), getLangOpts(), clang::Type::getRVVEltType(), getRVVTypeSize(), getTypeSize(), clang::LangOptionsBase::Integer, clang::Type::isIntegerType(), clang::Type::isRVVSizelessBuiltinType(), and clang::Type::isVectorType().
Referenced by clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckImplicitConversion(), and IsVectorConversion().
◆ areLaxCompatibleSveTypes()Return true if the given vector types are lax-compatible SVE vector types, false otherwise.
Definition at line 10316 of file ASTContext.cpp.
References clang::LangOptionsBase::All, clang::Generic, clang::Type::getAs(), getLangOpts(), clang::Type::getSveEltType(), getSVETypeSize(), getTypeSize(), clang::LangOptionsBase::Integer, clang::Type::isIntegerType(), and clang::SveFixedLengthData.
Referenced by clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckImplicitConversion(), and IsVectorConversion().
◆ AtomicUsesUnsupportedLibcall() bool ASTContext::AtomicUsesUnsupportedLibcall ( const AtomicExpr * E ) constDefinition at line 13231 of file ASTContext.cpp.
References E, clang::TargetInfo::getMaxAtomicInlineWidth(), clang::Type::getPointeeType(), clang::CharUnits::getQuantity(), getTargetInfo(), clang::TargetInfo::getTriple(), clang::Expr::getType(), getTypeAlignInChars(), getTypeSizeInChars(), clang::T, and toBits().
Referenced by clang::Sema::BuildAtomicExpr().
◆ attachCommentsToJustParsedDecls()Searches existing comments for doc comments that should be attached to Decls
.
If any doc comment is found, it is parsed.
Requirement: All Decls
are in the same file.
If the last comment in the file is already attached we assume there are not comments left to be attached to Decls
.
Definition at line 530 of file ASTContext.cpp.
References adjustDeclToTemplate(), cacheRawCommentForDecl(), Comments, D, DeclRawComments, clang::RawCommentList::empty(), clang::File, clang::Decl::getCanonicalDecl(), clang::RawCommentList::getCommentsInFile(), getDeclLocsForCommentSearch(), clang::SourceManager::getDecomposedLoc(), clang::Decl::getLocation(), getRawCommentForDeclNoCacheImpl(), clang::Decl::isInvalidDecl(), clang::SourceLocation::isValid(), Loc, and ParsedComments.
Referenced by clang::Sema::ActOnDocumentableDecls().
◆ backupStr() llvm::StringRef clang::ASTContext::backupStr ( llvm::StringRef S ) const inlineDefinition at line 762 of file ASTContext.h.
◆ baseForVTableAuthentication() ◆ BlockRequiresCopying()Returns true iff we need copy/dispose helpers for the given type.
BlockRequiresCopying - Returns true if byref variable "D" of type "Ty" requires copy/dispose.
Note that this must match the logic in buildByrefHelpers.
Definition at line 8272 of file ASTContext.cpp.
References D, clang::Type::getAsCXXRecordDecl(), getBlockVarCopyInit(), clang::BlockVarCopyInit::getCopyExpr(), clang::Qualifiers::getObjCLifetime(), clang::QualType::getQualifiers(), clang::Type::isBlockPointerType(), clang::QualType::isDestructedType(), clang::QualType::isNonTrivialToPrimitiveDestructiveMove(), isObjCNSObjectType(), clang::Type::isObjCObjectPointerType(), clang::Type::isObjCRetainableType(), clang::Qualifiers::OCL_Autoreleasing, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, and clang::Qualifiers::OCL_Weak.
◆ buildBuiltinTemplateDecl() ◆ buildImplicitRecord()Create a new implicit TU-level CXXRecordDecl or RecordDecl declaration.
Definition at line 1221 of file ASTContext.cpp.
References clang::Decl::addAttr(), clang::CPlusPlus, clang::CXXRecordDecl::Create(), clang::RecordDecl::Create(), clang::IdentifierTable::get(), getLangOpts(), getTranslationUnitDecl(), Idents, Loc, and clang::Decl::setImplicit().
Referenced by CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), CreateHexagonBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), CreateXtensaABIBuiltinVaListDecl(), getBlockDescriptorExtendedType(), getBlockDescriptorType(), getCFConstantStringDecl(), clang::CodeGen::CodeGenModule::getObjCFastEnumerationStateType(), getObjCSuperType(), InitBuiltinTypes(), and clang::Sema::Initialize().
◆ buildImplicitTypedef()Create a new implicit TU-level typedef declaration.
Definition at line 1237 of file ASTContext.cpp.
References clang::TypedefDecl::Create(), clang::IdentifierTable::get(), getTranslationUnitDecl(), getTrivialTypeSourceInfo(), Idents, clang::Decl::setImplicit(), and clang::T.
Referenced by clang::Sema::addImplicitTypedef(), CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), CreateCharPtrNamedVaListDecl(), CreateHexagonBuiltinVaListDecl(), CreatePNaClABIBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateVoidPtrBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), CreateXtensaABIBuiltinVaListDecl(), getCFConstantStringDecl(), getInt128Decl(), getObjCClassDecl(), getObjCIdDecl(), getObjCInstanceTypeDecl(), getObjCSelDecl(), and getUInt128Decl().
◆ cacheRawCommentForDecl() void ASTContext::cacheRawCommentForDecl ( const Decl & OriginalD, const RawComment & Comment ) const ◆ canAssignObjCInterfaces() [1/2]canAssignObjCInterfaces - Return true if the two interface types are compatible for assignment from RHS to LHS.
This handles validation of any protocol qualifiers on the LHS or RHS.
Definition at line 10648 of file ASTContext.cpp.
References canAssignObjCInterfaces(), clang::ObjCObjectType::getInterface(), clang::ObjCObjectPointerType::getObjectType(), clang::ObjCObjectType::isKindOfType(), clang::ObjCObjectType::isObjCClass(), clang::ObjCObjectType::isObjCQualifiedClass(), clang::ObjCObjectType::isObjCQualifiedId(), clang::ObjCObjectType::isObjCUnqualifiedId(), ObjCQualifiedClassTypesAreCompatible(), ObjCQualifiedIdTypesAreCompatible(), and clang::ObjCObjectPointerType::stripObjCKindOfTypeAndQuals().
Referenced by clang::SemaObjC::ActOnPropertyImplDecl(), clang::applyObjCTypeArgs(), areComparableObjCPointerTypes(), canAssignObjCInterfaces(), canAssignObjCObjectTypes(), canBindObjCObjectType(), CompareDerivedToBaseConversions(), CompareStandardConversionSequences(), clang::SemaObjC::DiagnosePropertyAccessorMismatch(), clang::SemaObjC::FindCompositeObjCPointerType(), findMethodDecl(), clang::Sema::isObjCPointerConversion(), isObjCTypeSubstitutable(), and mergeTypes().
◆ canAssignObjCInterfaces() [2/2]Definition at line 11017 of file ASTContext.cpp.
References clang::Type::castAs(), CollectInheritedProtocols(), clang::declaresSameEntity(), clang::ObjCObjectType::getInterface(), clang::ObjCProtocolQualifiers< T >::getNumProtocols(), clang::ObjCObjectType::getSuperClassType(), clang::ObjCObjectType::getTypeArgs(), clang::ObjCObjectType::isSpecialized(), clang::ObjCInterfaceDecl::isSuperClassOf(), clang::ObjCProtocolQualifiers< T >::quals(), and sameObjCTypeArgs().
◆ canAssignObjCInterfacesInBlockPointer()canAssignObjCInterfacesInBlockPointer - This routine is specifically written for providing type-safety for objective-c pointers used to pass/return arguments in block literals.
When passed as arguments, passing 'A*' where 'id' is expected is not OK. Passing 'Sub *" where 'Super *" is expected is not OK. For the return type, the opposite is not OK.
Definition at line 10701 of file ASTContext.cpp.
References canAssignObjCInterfacesInBlockPointer(), clang::ObjCInterfaceType::getDecl(), clang::ObjCObjectPointerType::getInterfaceType(), getLangOpts(), clang::Type::isObjCBuiltinType(), clang::ObjCObjectPointerType::isObjCIdType(), clang::ObjCObjectPointerType::isObjCQualifiedIdType(), clang::ObjCInterfaceDecl::isSuperClassOf(), ObjCQualifiedIdTypesAreCompatible(), and clang::ObjCObjectPointerType::stripObjCKindOfTypeAndQuals().
Referenced by canAssignObjCInterfacesInBlockPointer(), and mergeTypes().
◆ canBindObjCObjectType() ◆ canBuiltinBeRedeclared() ◆ cleanup() void ASTContext::cleanup ( ) ◆ cloneFullComment() ◆ CollectInheritedProtocols() ◆ computeBestEnumTypes() ◆ CountNonClassIvars() ◆ createDeviceMangleContext() ◆ createMangleContext()If T
is null pointer, assume the target in ASTContext.
Definition at line 12936 of file ASTContext.cpp.
References clang::ItaniumMangleContext::create(), clang::MicrosoftMangleContext::create(), getDiagnostics(), and clang::T.
Referenced by clang::PredefinedExpr::ComputeName(), clang::ASTNameGenerator::Implementation::getAllManglings(), getPointerAuthTypeDiscriminator(), getPointerAuthVTablePointerDiscriminator(), InitDeviceMC(), markUsedForAliasOrIfunc(), and useAbbreviatedThunkName().
◆ createMangleNumberingContext() ◆ CreateTypeSourceInfo()Allocate an uninitialized TypeSourceInfo.
The caller should initialize the memory held by TypeSourceInfo using the TypeLoc wrappers.
Definition at line 3071 of file ASTContext.cpp.
References clang::TypeLoc::getFullDataSizeForType(), and clang::T.
Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnTemplatedFriendTag(), clang::Sema::BuildMemInitializer(), clang::Sema::CheckTypenameType(), EvaluateBooleanTypeTrait(), getTemplateSpecializationTypeInfo(), getTrivialTypeSourceInfo(), GetTypeSourceInfoForDeclarator(), and clang::ASTDeclReader::VisitDeclaratorDecl().
◆ Deallocate() void clang::ASTContext::Deallocate ( void * Ptr ) const inline ◆ DeallocateDeclListNode() void clang::ASTContext::DeallocateDeclListNode ( DeclListNode * N ) inline ◆ DeclMustBeEmitted() bool ASTContext::DeclMustBeEmitted ( const Decl * D )Determines if the decl can be CodeGen'ed or deserialized from PCH lazily, only when used; this is only relevant for function or file scoped var definitions.
Definition at line 12735 of file ASTContext.cpp.
References D, clang::VarDecl::DeclarationOnly, DeclMustBeEmitted(), clang::CXXMethodDecl::getCanonicalDecl(), getCurrentKeyFunction(), clang::Decl::getDeclContext(), GetGVALinkageForFunction(), GetGVALinkageForVariable(), clang::DeclContext::getParent(), getTargetInfo(), clang::GVA_AvailableExternally, clang::Decl::hasAttr(), clang::DeclContext::isDependentContext(), clang::isDiscardableGVALinkage(), clang::CXXRecordDecl::isDynamicClass(), isMSStaticDataMemberInlineDefinition(), clang::SC_Register, and clang::FunctionDecl::TK_FunctionTemplate.
Referenced by clang::Sema::CheckCompleteVariableDeclaration(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), DeclMustBeEmitted(), isRequiredDecl(), and clang::Sema::ShouldWarnIfUnusedFileScopedDecl().
◆ DecodeTypeStr() ◆ deduplicateMergedDefinitonsFor() void ASTContext::deduplicateMergedDefinitonsFor ( NamedDecl * ND ) ◆ DeepCollectObjCIvars() ◆ DumpRecordLayout() void ASTContext::DumpRecordLayout ( const RecordDecl * RD, raw_ostream & OS, bool Simple =false
) const
Definition at line 3737 of file RecordLayoutBuilder.cpp.
References DumpRecordLayout(), clang::ASTRecordLayout::getAlignment(), getASTRecordLayout(), clang::ASTRecordLayout::getDataSize(), clang::ASTRecordLayout::getFieldCount(), clang::ASTRecordLayout::getFieldOffset(), clang::ASTRecordLayout::getPreferredAlignment(), clang::ASTRecordLayout::getSize(), getTypeDeclType(), isMsLayout(), and toBits().
Referenced by DumpRecordLayout(), and getASTRecordLayout().
◆ eraseDeclAttrs() void ASTContext::eraseDeclAttrs ( const Decl * D ) ◆ filterFunctionTargetAttrs() ParsedTargetAttr ASTContext::filterFunctionTargetAttrs ( const TargetAttr * TD ) const ◆ findSYCLKernelInfo() ◆ forEachMultiversionedFunctionVersion() void ASTContext::forEachMultiversionedFunctionVersion ( const FunctionDecl * FD, llvm::function_ref< void(FunctionDecl *)> Pred ) const ◆ getAddrSpaceQualType()Return the uniqued reference to the type for an address space qualified type with the specified type and address space.
The resulting type has a union of the qualifiers from T and the address space. If T already has an address space specifier, it is silently replaced.
Definition at line 3149 of file ASTContext.cpp.
References clang::Qualifiers::addAddressSpace(), clang::QualType::getAddressSpace(), getCanonicalType(), clang::Qualifiers::hasAddressSpace(), clang::QualifierCollector::strip(), and clang::T.
Referenced by clang::Sema::ActOnVariableDeclarator(), AdjustAddressSpaceForBuiltinOperandType(), AdjustFunctionParmAndArgTypesForDeduction(), adjustStringLiteralBaseType(), clang::Sema::BuildAddressSpaceAttr(), clang::Sema::BuildAtomicExpr(), builtinAllocaAddrSpace(), checkConditionalPointerCompatibility(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), createHostLayoutStructForBuffer(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitMoveAssignment(), clang::Sema::DeclareImplicitMoveConstructor(), DecodeTypeFromStr(), clang::Sema::deduceOpenCLAddressSpace(), deduceOpenCLPointeeAddrSpace(), clang::CodeGen::CodeGenTypes::DeriveThisType(), HandleAddressSpaceTypeAttribute(), handleMSPointerTypeQualifierAttr(), HandleWebAssemblyFuncrefAttr(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformObjectMemberConversion(), clang::TreeTransform< Derived >::RebuildQualifiedType(), rewriteBuiltinFunctionDecl(), and clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter().
◆ getAdjustedParameterType()Perform adjustment on the parameter type of a function.
This routine adjusts the given parameter type T
to the actual parameter type used by semantic analysis (C99 6.7.5.3p[7,8], C++ [dcl.fct]p3). The adjusted parameter type is returned.
Definition at line 7666 of file ASTContext.cpp.
References getArrayParameterType(), getDecayedType(), getLangOpts(), clang::HLSL, clang::Type::isArrayType(), clang::Type::isConstantArrayType(), clang::Type::isFunctionType(), and clang::T.
Referenced by clang::SemaObjC::ActOnMethodDeclaration(), clang::Sema::BuildFunctionType(), clang::Sema::CheckParameter(), DeduceNonTypeTemplateArgument(), getSignatureParameterType(), and ProcessAPINotes().
◆ getAdjustedType() [1/2] ◆ getAdjustedType() [2/2] ◆ getAlignOfGlobalVar() ◆ getAlignOfGlobalVarInChars() ◆ getAllocator() llvm::BumpPtrAllocator & clang::ASTContext::getAllocator ( ) const inline ◆ getArrayDecayedType()Return the properly qualified result of decaying the specified array type to a pointer.
getArrayDecayedType - Return the properly qualified result of decaying the specified array type to a pointer.
This operation is non-trivial when handling typedefs etc. The canonical type of T
must be an array type, this returns a pointer to a properly qualified element of the array.
See C99 6.7.5.3p7 and C99 6.3.2.1p3.
This operation is non-trivial when handling typedefs etc. The canonical type of "T" must be an array type, this returns a pointer to a properly qualified element of the array.
See C99 6.7.5.3p7 and C99 6.3.2.1p3.
Definition at line 7699 of file ASTContext.cpp.
References getAsArrayType(), getAttributedType(), clang::ArrayType::getElementType(), clang::ArrayType::getIndexTypeQualifiers(), clang::Type::getNullability(), getPointerType(), getQualifiedType(), and clang::Result.
Referenced by clang::Sema::ActOnStringLiteral(), BuildCookedLiteralOperatorCall(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildVAArgExpr(), clang::Sema::CheckSpecifiedExceptionType(), CheckTemplateArgumentAddressOfObjectOrFunction(), CompareDerivedToBaseConversions(), CompareStandardConversionSequences(), clang::Sema::CreateBuiltinArraySubscriptExpr(), DecodeTypeFromStr(), clang::Sema::DeduceTemplateArguments(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DiagnoseAssignmentResult(), doRewriteToUTF8StringBoxedExpressionHelper(), GetBuiltinType(), getCanonicalParamType(), getDecayedType(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), IsStandardConversion(), and clang::Sema::PerformImplicitConversion().
◆ getArrayInitLoopExprElementCount() uint64_t ASTContext::getArrayInitLoopExprElementCount ( const ArrayInitLoopExpr * AILE ) const ◆ getArrayParameterType() ◆ getAsArrayType()Type Query functions.
If the type is an instance of the specified class, return the Type pointer for the underlying maximally pretty type. This is a member of ASTContext because this may need to do some amount of canonicalization, e.g. to move type qualifiers into the element type.
Definition at line 7608 of file ASTContext.cpp.
References clang::Qualifiers::empty(), getConstantArrayType(), getDependentSizedArrayType(), getIncompleteArrayType(), getQualifiedType(), getVariableArrayType(), clang::SplitQualType::Quals, clang::T, and clang::SplitQualType::Ty.
Referenced by clang::Sema::ActOnFields(), actOnOMPReductionKindClause(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuiltinRemoveExtent(), clang::Sema::CheckAllocatedType(), CheckC23ConstexprInitStringLiteral(), clang::Sema::CheckCountedByAttrOnField(), checkFormatStringExpr(), clang::Sema::CheckStaticArrayArgument(), DeduceFromInitializerList(), clang::Sema::deduceOpenCLAddressSpace(), DeduceTemplateArgumentsByTypeMatch(), diagnoseArrayStarInParamType(), DiagnoseDivisionSizeofPointerOrArray(), clang::CodeGen::ReductionCodeGen::emitInitialization(), emitPartialArrayDestroy(), clang::Sema::FillInlineAsmIdentifierInfo(), clang::Sema::FindCompositePointerType(), getArrayDecayedType(), getAsConstantArrayType(), getAsDependentSizedArrayType(), getAsIncompleteArrayType(), getAsVariableArrayType(), getDeclAlign(), clang::CFGImplicitDtor::getDestructorDecl(), getLValueType(), clang::ento::MemRegionManager::getStaticSize(), handleInitPriorityAttr(), clang::ASTNodeImporter::ImportAPValue(), clang::InitializationSequence::InitializeFrom(), clang::interp::InterpretOffsetOf(), isDesignatorAtObjectEnd(), isSameEntity(), IsStringInit(), clang::CodeGen::CodeGenTypes::isZeroInitializable(), mergeTypes(), clang::Sema::MergeVarDeclTypes(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), clang::ento::ExprEngine::ProcessDeleteDtor(), TryArrayCopy(), clang::CodeGen::ConstantEmitter::tryEmitPrivate(), TryListConversion(), TryListInitialization(), tryObjCWritebackConversion(), TryOrBuildParenListInitialization(), TypeRequiresBuiltinLaunderImp(), unwrapCastAwayConstnessLevel(), UnwrapSimilarArrayTypes(), and clang::ASTNodeImporter::VisitVarDecl().
◆ getAsConstantArrayType()Definition at line 2922 of file ASTContext.h.
References getAsArrayType(), and clang::T.
Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData(), clang::ast_matchers::libc_func_matchers::AST_MATCHER(), BitsContainNoUserData(), clang::Sema::BuildCXXNew(), buildSingleCopyAssignRecursively(), calculateLegacyCbufferSize(), clang::Sema::CheckCompleteDecompositionDeclaration(), CheckFormatString(), clang::Sema::CheckStaticArrayArgument(), clang::Sema::CheckVariableDeclarationType(), CompareImplicitConversionSequences(), DeduceTemplateArgumentsByTypeMatch(), EmitCXXNewAllocSize(), EmitMemberInitializer(), clang::CodeGen::CodeGenModule::EmitNullConstant(), EquivalentArrayTypes(), evenFlexibleArraySize(), clang::analyze_scanf::ScanfSpecifier::fixType(), fixVarDeclWithArray(), fixVariable(), FixVarInitializerWithSpan(), clang::Sema::FormatStringHasSArg(), clang::CodeGen::CodeGenModule::GetConstantArrayFromStringLiteral(), clang::VarDecl::getFlexibleArrayInitChars(), getTypeExpansion(), clang::VarDecl::hasFlexibleArrayInit(), isConstantSizeArrayWithMoreThanOneElement(), clang::CodeGen::isEmptyField(), clang::Decl::isFlexibleArrayMemberLike(), isIncompleteOrZeroLengthArrayType(), clang::CodeGen::isSingleElementStruct(), isValidStructGUID(), isZeroSizedArray(), mergeTypes(), clang::SemaObjC::ParseObjCStringLiteral(), clang::InitializationSequence::Perform(), ProcessFormatStringLiteral(), setUsedBits(), TryOrBuildParenListInitialization(), clang::interp::Compiler< Emitter >::VisitCXXConstructExpr(), clang::interp::Compiler< Emitter >::VisitCXXStdInitializerListExpr(), clang::interp::Compiler< Emitter >::visitInitList(), and clang::interp::Compiler< Emitter >::VisitStringLiteral().
◆ getAsDependentSizedArrayType() ◆ getAsIncompleteArrayType() ◆ getAssumedTemplateName() ◆ getASTAllocatedMemory() size_t clang::ASTContext::getASTAllocatedMemory ( ) const inlineReturn the total amount of physical memory allocated for representing AST nodes and type information.
Definition at line 788 of file ASTContext.h.
◆ getASTMutationListener() ◆ getASTObjCImplementationLayout()Get or compute information about the layout of the specified Objective-C implementation.
This may differ from the interface if synthesized ivars are present.
Definition at line 3098 of file ASTContext.cpp.
References D.
Referenced by lookupFieldBitOffset().
◆ getASTObjCInterfaceLayout() ◆ getASTRecordLayout()Get or compute information about the layout of the specified record (struct/union/class) D
, which indicates its size and field position information.
getASTRecordLayout - Get or compute information about the layout of the specified record (struct/union/class), which indicates its size and field position information.
Definition at line 3321 of file RecordLayoutBuilder.cpp.
References clang::ExternalASTSource::CompleteType(), D, DumpRecordLayout(), clang::CharUnits::fromQuantity(), getExternalSource(), getLangOpts(), clang::Decl::getMostRecentDecl(), getTargetInfo(), clang::CXXRecordDecl::isDynamicClass(), clang::Decl::isInvalidDecl(), isMsLayout(), mustSkipTailPadding(), and clang::CharUnits::Zero().
Referenced by AddIndirectPrimaryBases(), clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData(), clang::interp::IntPointer::atOffset(), clang::interp::IntPointer::baseCast(), baseForVTableAuthentication(), BitsContainNoUserData(), clang::CodeGen::CGCXXABI::buildThisParam(), calculateOffset(), classifyType(), clang::RecordDecl::completeDefinition(), computeFullPathsForVFTables(), clang::CodeGen::CodeGenModule::computeNonVirtualBaseClassOffset(), computeOffsetHint(), clang::CodeGen::CodeGenTypes::ComputeRecordLayout(), DumpRecordLayout(), EmitNullBaseClassInitialization(), EmitNullConstant(), EncodeBitField(), enumerateData(), findPathsToSubobject(), getBaseAlignmentAndOffsetFromLValue(), getBaseAlignmentAndOffsetFromPtr(), clang::CodeGen::CodeGenModule::getClassPointerAlignment(), getDeclAlign(), getDerivedToBaseAlignmentAndOffset(), clang::CodeGen::CodeGenModule::getDynamicOffsetAlignment(), GetFieldOffset(), getFieldOffsetInBits(), clang::VarDecl::getFlexibleArrayInitChars(), getMemberPointerPathAdjustment(), clang::CodeGen::CodeGenModule::getMinimumClassObjectSize(), getOffsetOfBaseWithVBPtr(), getOffsetOfFullPath(), getPreferredTypeAlign(), getTypeInfoDataSizeInChars(), getTypeUnadjustedAlign(), clang::CodeGen::CodeGenModule::getVBaseAlignment(), clang::interp::InterpretOffsetOf(), isDesignatorAtObjectEnd(), isIntegerLikeType(), clang::Sema::LookupInlineAsmField(), setUsedBits(), structHasUniqueObjectRepresentations(), clang::interp::Pointer::toAPValue(), and clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias().
◆ getAsVariableArrayType()Definition at line 2925 of file ASTContext.h.
References getAsArrayType(), and clang::T.
Referenced by clang::Sema::CheckVariableDeclarationType(), clang::CodeGen::ReductionCodeGen::emitAggregateType(), emitArraySubscriptGEP(), emitPointerArithmetic(), clang::CodeGen::CGOpenMPRuntime::emitReduction(), clang::CodeGen::CGOpenMPRuntime::emitReductionFunction(), EquivalentArrayTypes(), getFixedSizeElementType(), mergeTypes(), and TryOrBuildParenListInitialization().
◆ getAtomicType() ◆ getAttributedType() [1/3]Definition at line 5339 of file ASTContext.cpp.
References clang::ast_matchers::attr, getCanonicalType(), clang::AttributedType::Profile(), and clang::ast_matchers::type.
Referenced by adjustType(), clang::Sema::BuildFieldReferenceExpr(), clang::SemaObjC::BuildObjCBoxedExpr(), CheckNullabilityTypeSpecifier(), computeConditionalNullability(), clang::desugarForDiagnostic(), getArrayDecayedType(), getAttributedType(), getBaseMessageSendResultType(), getCommonSugarTypeNode(), clang::SemaObjC::getMessageSendResultType(), mergeParamDeclTypes(), mergeTypeNullabilityForRedecl(), ProcessAPINotes(), clang::SemaObjC::ProcessPropertyDecl(), rebuildAttributedTypeWithoutNullability(), and stripObjCInstanceType().
◆ getAttributedType() [2/3] ◆ getAttributedType() [3/3] ◆ getAutoDeductType() QualType ASTContext::getAutoDeductType ( ) const ◆ getAutoRRefDeductType() QualType ASTContext::getAutoRRefDeductType ( ) const ◆ getAutoType() ◆ getAuxTargetInfo() const TargetInfo * clang::ASTContext::getAuxTargetInfo ( ) const inline ◆ getBaseElementType() [1/2]Return the innermost element type of an array type.
For example, will return "int" for int[m][n]
Definition at line 7721 of file ASTContext.cpp.
References getBaseElementType(), and clang::ArrayType::getElementType().
Referenced by clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnFields(), clang::Sema::ActOnInitializerError(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPCopyinClause(), clang::SemaOpenMP::ActOnOpenMPCopyprivateClause(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPLastprivateClause(), clang::Sema::ActOnUninitializedDecl(), clang::SemaHLSL::ActOnVariableDeclarator(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildArrayType(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCXXTypeConstructExpr(), BuildImplicitMemberInitializer(), clang::Sema::BuiltinRemoveExtent(), CheckAggExprForMemSetUse(), clang::Sema::CheckAllocatedType(), clang::Sema::checkArrayElementAlignment(), CheckBitcastType(), CheckC23ConstexprVarType(), clang::Sema::CheckCompleteVariableDeclaration(), clang::Sema::CheckFieldDecl(), clang::interp::CheckNewTypeMismatch(), clang::Sema::CheckNontrivialField(), clang::SemaOpenACC::CheckReductionVar(), checkTrivialClassMembers(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::SemaObjC::CollectIvarsToConstructOrDestruct(), defaultedSpecialMemberIsConstexpr(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), DiagnoseDivisionSizeofPointerOrArray(), diagnoseOpenCLTypes(), EmitMemberInitializer(), emitReadOnlyPlacementAttrWarning(), FieldHasTrivialDestructorBody(), clang::Sema::FindAllocationFunctions(), getBaseElementType(), getDeclAlign(), clang::CFGImplicitDtor::getDestructorDecl(), getInnerObjCOwnership(), clang::CodeGen::CodeGenModule::getNaturalTypeAlignment(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), getTypeAlignIfKnown(), handleInitPriorityAttr(), hasUniqueObjectRepresentations(), clang::SemaCUDA::inferTargetForImplicitSpecialMember(), clang::Sema::isAbstractType(), clang::QualType::isBitwiseCloneableType(), isConstNotMutableType(), clang::QualType::isCXX98PODType(), clang::QualType::isNonConstantStorage(), isTriviallyCopyableTypeImpl(), clang::QualType::isTriviallyRelocatableType(), clang::QualType::isTrivialType(), clang::CodeGen::CodeGenTypes::isZeroInitializable(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), PerformConstructorInitialization(), clang::ento::ExprEngine::ProcessDeleteDtor(), clang::Sema::RequireLiteralType(), clang::Sema::RequireNonAbstractType(), clang::Sema::RequireStructuralType(), clang::SemaObjC::SetIvarInitializers(), setUsedBits(), TryDefaultInitialization(), clang::CodeGen::ConstantEmitter::tryEmitPrivateForVarInit(), TryValueInitialization(), TypeRequiresBuiltinLaunderImp(), and clang::UsedDeclVisitor< Derived >::VisitCXXDeleteExpr().
◆ getBaseElementType() [2/2] ◆ getBitIntType() ◆ getBlockDescriptorExtendedType() QualType ASTContext::getBlockDescriptorExtendedType ( ) constGets the struct used to keep track of the extended descriptor for pointer to blocks.
Definition at line 8190 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, buildImplicitRecord(), clang::RecordDecl::completeDefinition(), clang::FieldDecl::Create(), clang::IdentifierTable::get(), getPointerType(), getTagDeclType(), clang::ICIS_NoInit, Idents, clang::TagDecl::startDefinition(), UnsignedLongTy, and VoidPtrTy.
◆ getBlockDescriptorType() QualType ASTContext::getBlockDescriptorType ( ) constGets the struct used to keep track of the descriptor for pointer to blocks.
Definition at line 8155 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, buildImplicitRecord(), clang::RecordDecl::completeDefinition(), clang::FieldDecl::Create(), clang::IdentifierTable::get(), getTagDeclType(), clang::ICIS_NoInit, Idents, clang::TagDecl::startDefinition(), and UnsignedLongTy.
◆ getBlockPointerType()Return the uniqued reference to the type for a block of the specified type.
getBlockPointerType - Return the uniqued reference to the type for a pointer to the specified block.
Definition at line 3933 of file ASTContext.cpp.
References getBlockPointerType(), getCanonicalType(), clang::Type::isFunctionType(), clang::BlockPointerType::Profile(), and clang::T.
Referenced by clang::Sema::ActOnBlockStmtExpr(), addBlockPointerConversion(), clang::Sema::BuildBlockPointerType(), checkConditionalPointerCompatibility(), clang::Sema::DeduceReturnType(), getBlockPointerType(), getCommonNonSugarTypeNode(), clang::ento::MemRegionManager::getVarRegion(), mergeTypes(), and clang::Sema::PerformImplicitConversion().
◆ getBlockVarCopyInit() ◆ getBOOLDecl() ◆ getBoolName() ◆ getBOOLType() QualType clang::ASTContext::getBOOLType ( ) const inline ◆ getBTFTagAttributedType() QualType ASTContext::getBTFTagAttributedType ( const BTFTypeTagAttr * BTFAttr, QualType Wrapped ) const ◆ getBuiltinCommonTypeDecl() ◆ getBuiltinCommonTypeName() IdentifierInfo * clang::ASTContext::getBuiltinCommonTypeName ( ) const inline ◆ getBuiltinMSVaListDecl() TypedefDecl * ASTContext::getBuiltinMSVaListDecl ( ) const ◆ getBuiltinMSVaListType() QualType clang::ASTContext::getBuiltinMSVaListType ( ) const inline ◆ GetBuiltinType()Return the type for the specified builtin.
GetBuiltinType - Return the type for the specified builtin.
If IntegerConstantArgs
is non-null, it is filled in with a bitmask of arguments to the builtin that are required to be integer constant expressions.
Definition at line 12450 of file ASTContext.cpp.
References BuiltinInfo, clang::CPlusPlus, DecodeTypeFromStr(), clang::EST_BasicNoexcept, clang::EST_DynamicNone, clang::FunctionProtoType::ExtProtoInfo::ExceptionSpec, clang::FunctionProtoType::ExtProtoInfo::ExtInfo, GE_Missing_type, GE_None, getArrayDecayedType(), getDefaultCallingConvention(), getFunctionNoProtoType(), getFunctionType(), getLangOpts(), clang::Builtin::Context::getTypeString(), Id, clang::Type::isArrayType(), clang::Builtin::Context::isNoReturn(), clang::Builtin::Context::isNoThrow(), clang::FunctionProtoType::ExceptionSpecInfo::Type, clang::FunctionProtoType::ExtProtoInfo::Variadic, and clang::FunctionType::ExtInfo::withNoReturn().
Referenced by clang::Sema::ActOnFunctionDeclarator(), getAbsoluteValueArgumentType(), and clang::Sema::LazilyCreateBuiltin().
◆ getBuiltinVaListDecl() TypedefDecl * ASTContext::getBuiltinVaListDecl ( ) const ◆ getBuiltinVaListType() QualType clang::ASTContext::getBuiltinVaListType ( ) const inline ◆ getBuiltinVectorTypeInfo()Returns the element type, element count and number of vectors (in case of tuple) for a builtin vector type.
Definition at line 4399 of file ASTContext.cpp.
References clang::BuiltinType::getKind().
Referenced by areCompatibleRVVTypes(), areCompatibleSveTypes(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::CheckInvalidVLENandLMUL(), clang::SemaRISCV::checkRVVTypeSupport(), clang::Sema::CheckSizelessVectorConditionalTypes(), clang::Sema::CheckSizelessVectorOperands(), checkSizelessVectorShift(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::Type::getRVVEltType(), getRVVTypeSize(), clang::Sema::GetSignedSizelessVectorType(), clang::Type::getSveEltType(), and HandleRISCVRVVVectorBitsTypeAttr().
◆ getByrefLifetime()Returns true, if given type has a known lifetime.
HasByrefExtendedLayout is set to false in this case. If HasByrefExtendedLayout returns true, byref variable has extended lifetime.
Definition at line 8312 of file ASTContext.cpp.
References getLangOpts(), clang::QualType::getObjCLifetime(), clang::Type::isBlockPointerType(), clang::Type::isObjCObjectPointerType(), clang::Type::isRecordType(), clang::LangOptionsBase::NonGC, clang::ObjC, clang::Qualifiers::OCL_ExplicitNone, and clang::Qualifiers::OCL_None.
◆ getCanonicalFunctionResultType() ◆ getCanonicalNestedNameSpecifier()Retrieves the "canonical" nested name specifier for a given nested name specifier.
The canonical nested name specifier is a nested name specifier that uniquely identifies a type or namespace within the type system. For example, given:
namespace N {
struct S {
template<
typenameT>
struct X{
typename T*
type; };
};
}
template<typename T> struct Y {
typenameN::S::X<T>::type
member;
};
const internal::VariadicAllOfMatcher< Type > type
Matches Types in the clang AST.
RangeSelector member(std::string ID)
Given a MemberExpr, selects the member token.
const FunctionProtoType * T
Here, the nested-name-specifier for N::S::X<T>:: will be S::X<template-param-0-0>, since 'S' and 'X' are uniquely defined by declarations in the type system and the canonical type for the template type parameter 'T' is template-param-0-0.
Definition at line 7552 of file ASTContext.cpp.
References clang::NestedNameSpecifier::Create(), clang::Type::getAs(), clang::NestedNameSpecifier::getAsIdentifier(), clang::NestedNameSpecifier::getAsNamespace(), clang::NestedNameSpecifier::getAsNamespaceAlias(), clang::NestedNameSpecifier::getAsType(), getCanonicalNestedNameSpecifier(), getCanonicalType(), clang::Redeclarable< decl_type >::getFirstDecl(), clang::NestedNameSpecifier::getKind(), clang::NamespaceAliasDecl::getNamespace(), clang::NestedNameSpecifier::getPrefix(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::Identifier, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::NamespaceAlias, clang::NestedNameSpecifier::Super, clang::T, clang::NestedNameSpecifier::TypeSpec, and clang::NestedNameSpecifier::TypeSpecWithTemplate.
Referenced by clang::Sema::CheckUsingDeclRedeclaration(), clang::NamedDecl::declarationReplaces(), getCanonicalNestedNameSpecifier(), getCommonNNS(), getDependentNameType(), getDependentTemplateName(), and getDependentTemplateSpecializationType().
◆ getCanonicalParamType()Return the canonical parameter type corresponding to the specific potentially non-canonical one.
Qualifiers are stripped off, functions are turned into function pointers, and arrays decay one level into pointers.
Definition at line 6672 of file ASTContext.cpp.
References clang::CanQual< Type >::CreateUnsafe(), getArrayDecayedType(), getArrayParameterType(), getCanonicalType(), getLangOpts(), getPointerType(), getVariableArrayDecayedType(), clang::HLSL, clang::Result, and clang::T.
Referenced by clang::CodeGen::CodeGenTypes::arrangeBuiltinFunctionCall(), clang::CodeGen::CodeGenTypes::arrangeCXXConstructorCall(), arrangeFreeFunctionLikeCall(), clang::CodeGen::CodeGenTypes::arrangeObjCMessageSendSignature(), getArgTypesForCall(), and getArgTypesForDeclaration().
◆ getCanonicalTemplateArgument()Retrieve the "canonical" template argument.
The canonical template argument is the simplest template argument (which may be a type, value, expression, or declaration) that expresses the value of the argument.
Definition at line 7495 of file ASTContext.cpp.
References clang::TemplateArgument::CreatePackCopy(), D, clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgument::getAsDecl(), clang::TemplateArgument::getAsStructuralValue(), clang::TemplateArgument::getAsTemplate(), clang::TemplateArgument::getAsTemplateOrTemplatePattern(), clang::TemplateArgument::getAsType(), clang::Decl::getCanonicalDecl(), getCanonicalTemplateArguments(), getCanonicalTemplateName(), getCanonicalType(), clang::TemplateArgument::getIntegralType(), clang::TemplateArgument::getIsDefaulted(), clang::TemplateArgument::getKind(), clang::TemplateArgument::getNullPtrType(), clang::TemplateArgument::getNumTemplateExpansions(), clang::TemplateArgument::getParamTypeForDecl(), clang::TemplateArgument::getStructuralValueType(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::NullPtr, clang::TemplateArgument::Pack, clang::TemplateArgument::pack_elements(), clang::TemplateArgument::StructuralValue, clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
Referenced by clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), clang::Sema::CheckTemplateArgumentList(), CheckTemplateArgumentPointerToMember(), ConvertDeducedTemplateArguments(), clang::TextNodeDumper::dumpTemplateArgument(), getCanonicalTemplateName(), getSubstTemplateTypeParmPackType(), isSubstitutedTemplateArgument(), and clang::ASTRecordReader::readTemplateArgument().
◆ getCanonicalTemplateName()Retrieves the "canonical" template name that refers to a given template.
The canonical template name is the simplest expression that can be used to refer to a given template. For most templates, this expression is just the template declaration itself. For example, the template std::vector can be referred to via a variety of names—std::vector, ::std::vector, vector (if vector is in scope), etc.—but all of these names map down to the same TemplateDecl, which is used to form the canonical template name.
Dependent template names are more interesting. Here, the template name could be something like T::template apply or std::allocator<T>::template rebind, where the nested name specifier itself is dependent. In this case, the canonical template name uses the shortest form of the dependent nested-name-specifier, which itself contains all canonical types, values, and templates.
Definition at line 6953 of file ASTContext.cpp.
References clang::DefaultArguments::Args, clang::TemplateParameterList::asArray(), clang::TemplateName::AssumedTemplate, clang::TemplateName::DeducedTemplate, clang::TemplateName::DependentTemplate, clang::SubstTemplateTemplateParmPackStorage::getArgumentPack(), clang::SubstTemplateTemplateParmPackStorage::getAssociatedDecl(), clang::TemplateName::getAsTemplateDecl(), clang::Decl::getCanonicalDecl(), getCanonicalTemplateArgument(), getCanonicalTemplateArguments(), getCanonicalTemplateName(), getDeducedTemplateName(), clang::DeducedTemplateStorage::getDefaultArguments(), getDefaultTemplateArgumentOrNone(), clang::SubstTemplateTemplateParmPackStorage::getFinal(), clang::SubstTemplateTemplateParmPackStorage::getIndex(), getSubstTemplateTemplateParmPack(), clang::TemplateDecl::getTemplateParameters(), clang::DeducedTemplateStorage::getUnderlying(), clang::TemplateName::OverloadedTemplate, clang::TemplateName::QualifiedTemplate, clang::DefaultArguments::StartPos, clang::TemplateArgument::structurallyEquals(), clang::TemplateName::SubstTemplateTemplateParm, clang::TemplateName::SubstTemplateTemplateParmPack, clang::TemplateName::Template, and clang::TemplateName::UsingTemplate.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::TextNodeDumper::dumpTemplateName(), getCanonicalTemplateArgument(), getCanonicalTemplateName(), getCanonicalTemplateSpecializationType(), getCommonTemplateName(), getDeducedTemplateSpecializationType(), hasSameTemplateName(), and isSameTemplateArg().
◆ getCanonicalTemplateSpecializationType() ◆ getCanonicalType() [1/2] const Type * clang::ASTContext::getCanonicalType ( const Type * T ) const inline ◆ getCanonicalType() [2/2]Return the canonical (structural) type corresponding to the specified potentially non-canonical type T
.
The non-canonical version of a type may have many "decorated" versions of types. Decorators can include typedefs, 'typeof' operators, etc. The returned type is guaranteed to be free of any of these, allowing two canonical types to be compared for exact equality with a simple pointer comparison.
Definition at line 2723 of file ASTContext.h.
References clang::CanQual< Type >::CreateUnsafe(), and clang::T.
Referenced by clang::Sema::ActOnConversionDeclarator(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::Sema::ActOnStartCXXMemberReference(), addBlockPointerConversion(), AddBuiltinAssignmentOperatorCandidates(), clang::Sema::AddConversionCandidate(), addFunctionPointerConversion(), clang::Sema::AddOverriddenMethods(), clang::Sema::areMultiversionVariantFunctionsCompatible(), clang::Sema::AttachBaseSpecifiers(), buildDeclareReductionRef(), clang::Sema::BuildFieldReferenceExpr(), clang::Sema::BuildReferenceType(), BuildSimilarlyQualifiedPointerType(), buildSingleCopyAssignRecursively(), buildUserDefinedMapperRef(), clang::Sema::BuildUsingDeclaration(), clang::Sema::ImplicitExceptionSpecification::CalledDecl(), clang::ento::StoreManager::castRegion(), clang::Sema::CheckAssignmentConstraints(), CheckC23ConstexprVarType(), clang::Sema::CheckConstructor(), clang::Sema::CheckDerivedToBaseConversion(), clang::CheckEquivalentExceptionSpecImpl(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckImplicitConversion(), clang::Sema::CheckMain(), clang::Sema::CheckMemberPointerConversion(), clang::SemaObjC::CheckObjCARCUnavailableWeakConversion(), clang::SemaObjC::CheckObjCMethodOverrides(), CheckOperatorDeleteDeclaration(), CheckOperatorNewDeclaration(), CheckOperatorNewDeleteTypes(), clang::Sema::CheckPtrComparisonWithNullChar(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentPointerToMember(), clang::Sema::CheckTemplateTypeArgument(), CollectVRQualifiers(), CompareDerivedToBaseConversions(), CompareQualificationConversions(), clang::Sema::CompareReferenceRelationship(), CompareStandardConversionSequences(), clang::ConversionFixItGenerator::compareTypesSimple(), clang::Sema::computeDeclContext(), clang::CIRGen::CIRGenTypes::convertType(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::CodeGen::CodeGenTypes::ConvertTypeForMem(), clang::CodeGen::CodeGenModule::CreateRuntimeFunction(), clang::Sema::DeclareGlobalAllocationFunction(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::DeclareImplicitDestructor(), clang::Sema::DeclareImplicitMoveConstructor(), DiagnoseBadConversion(), clang::SemaObjC::DiagnosePropertyAccessorMismatch(), clang::SemaObjC::DiagnosePropertyMismatch(), clang::Sema::ExtractUnqualifiedFunctionType(), clang::SemaObjC::FindCompositeObjCPointerType(), findDecomposableBaseClass(), findSYCLKernelInfo(), getAddrSpaceQualType(), getAdjustedType(), getArrayParameterType(), getAtomicType(), getAttributedType(), getBlockPointerType(), getBTFTagAttributedType(), getCanonicalFunctionResultType(), getCanonicalNestedNameSpecifier(), getCanonicalParamType(), getCanonicalTemplateArgument(), getComplexType(), getConstantArrayType(), getConstantMatrixType(), getConstructors(), GetConversionType(), getCountAttributedType(), getDecayedType(), getDecltypeType(), getDependentAddressSpaceType(), getDependentSizedArrayType(), getDependentSizedExtVectorType(), getDependentSizedMatrixType(), getDependentVectorType(), clang::CXXRecordDecl::getDestructor(), getElaboratedType(), clang::ento::MemRegionManager::getElementRegion(), getExtVectorType(), getIncompleteArrayType(), getIntegerTypeOrder(), GetKeyForBase(), getLValueReferenceType(), getMacroQualifiedType(), getMemberPointerType(), clang::Sema::GetNameFromUnqualifiedId(), getObjCGCQualType(), getObjCObjectPointerType(), getObjCObjectType(), getObjCTypeParamType(), getPackExpansionType(), getPackIndexingType(), getParenType(), getPointerType(), getRValueReferenceType(), getSYCLKernelInfo(), clang::CodeGen::CodeGenTBAA::getTBAAStructInfo(), getTemplateSpecializationType(), getTypedefType(), clang::CodeGen::CodeGenTBAA::getTypeInfo(), getTypeOfExprType(), getTypeOfType(), getUnaryTransformType(), getVariableArrayType(), clang::ento::MemRegionManager::getVarRegion(), getVectorType(), clang::SemaObjC::HandlePropertyInClassExtension(), clang::Sema::handlerCanCatch(), hasSameType(), hasSameUnqualifiedType(), hasUserDefinedMapper(), clang::Sema::ImpCastExprToType(), clang::ASTImporter::Import(), InitBuiltinTypes(), InitCatchParam(), clang::CXXMethodDecl::isCopyAssignmentOperator(), clang::CXXConstructorDecl::isCopyOrMoveConstructor(), clang::Sema::IsFunctionConversion(), IsImplicitBoolFloatConversion(), IsInvalidCmseNSCallConversion(), clang::Sema::IsInvalidSMECallConversion(), IsModifiable(), clang::CXXMethodDecl::isMoveAssignmentOperator(), clang::Sema::isObjCPointerConversion(), IsOverloadOrOverrideImpl(), clang::Sema::IsQualificationConversion(), isSameTemplateArg(), clang::CXXConstructorDecl::isSpecializationCopyingObject(), IsStandardConversion(), IsStringInit(), IsStructurallyEquivalent(), clang::Expr::isUnusedResultAWarning(), clang::Sema::LookupConstructors(), LookupMemberExpr(), clang::Sema::LookupSpecialMember(), MarkUsedTemplateParameters(), matchTypes(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MergeFunctionDecl(), mergeFunctionTypes(), mergeObjCGCQualifiers(), mergeTypeLists(), mergeTypes(), MightInstantiateTo(), NoteIndirectBases(), OpenCLArithmeticConversions(), clang::Sema::PerformObjectMemberConversion(), clang::SemaObjC::ProcessPropertyDecl(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), clang::CodeGen::CodeGenTypes::RefreshTypeCacheForClass(), registerSYCLEntryPointFunction(), RemoveAddressSpaceFromPtr(), clang::LookupResult::resolveKind(), ResolveOverloadedFunctionForReferenceBinding(), SelectPropertyForSynthesisFromProtocols(), clang::cross_tu::shouldImport(), clang::TreeTransform< Derived >::TransformDeclarationNameInfo(), TryListConversion(), TryObjectArgumentInitialization(), TryReferenceInit(), TryReferenceInitializationCore(), clang::ConversionFixItGenerator::tryToFixConversion(), TryUserDefinedConversion(), clang::ento::ExprEngine::VisitBinaryOperator(), clang::ento::ExprEngine::VisitBlockExpr(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), and clang::ento::ExprEngine::VisitInitListExpr().
◆ getCFConstantStringDecl() TypedefDecl * ASTContext::getCFConstantStringDecl ( ) constObjective-C ABI
typedef struct __NSConstantString_tag { const int *isa; int flags; const char *str; long length; } __NSConstantString;
Swift ABI (4.1, 4.2)
typedef struct __NSConstantString_tag { uintptr_t _cfisa; uintptr_t _swift_rc; _Atomic(uint64_t) _cfinfoa; const char *_ptr; uint32_t _length; } __NSConstantString;
Swift ABI (5.0)
typedef struct __NSConstantString_tag { uintptr_t _cfisa; uintptr_t _swift_rc; _Atomic(uint64_t) _cfinfoa; const char *_ptr; uintptr_t _length; } __NSConstantString;
Definition at line 8043 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, buildImplicitRecord(), buildImplicitTypedef(), clang::LangOptions::CFRuntime, CharTy, clang::RecordDecl::completeDefinition(), clang::FieldDecl::Create(), clang::IdentifierTable::get(), getLangOpts(), getPointerType(), getTagDeclType(), getUIntPtrType(), clang::ICIS_NoInit, Idents, IntTy, LongTy, clang::TagDecl::startDefinition(), clang::LangOptionsBase::Swift, clang::LangOptionsBase::Swift4_1, clang::LangOptionsBase::Swift4_2, clang::ast_matchers::tagType, and clang::CanQual< T >::withConst().
Referenced by getCFConstantStringTagDecl(), getCFConstantStringType(), and clang::Sema::Initialize().
◆ getCFConstantStringTagDecl() RecordDecl * ASTContext::getCFConstantStringTagDecl ( ) const ◆ getCFConstantStringType() QualType ASTContext::getCFConstantStringType ( ) const ◆ getCharWidth() uint64_t clang::ASTContext::getCharWidth ( ) const inlineReturn the size of the character type, in bits.
Definition at line 2493 of file ASTContext.h.
References CharTy, and getTypeSize().
Referenced by clang::Sema::AddAlignedAttr(), clang::Sema::BuildCXXNew(), calculateOffset(), CheckBitcastType(), CheckC23ConstexprInitStringLiteral(), collectSubRegionBindings(), clang::CodeGen::CGObjCRuntime::ComputeIvarBaseOffset(), diagnoseStringPlusChar(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), getSVETypeSize(), HandleArmSveVectorBitsTypeAttr(), HandleRISCVRVVVectorBitsTypeAttr(), clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition(), setUsedBits(), toBits(), and toCharUnitsFromBits().
◆ getCommentCommandTraits() ◆ getCommentForDecl()Return parsed documentation comment attached to a given declaration.
Returns nullptr if no comment is attached.
Definition at line 612 of file ASTContext.cpp.
References addRedeclaredMethods(), adjustDeclToTemplate(), clang::AS_public, cloneFullComment(), D, clang::ObjCPropertyDecl::findPropertyDecl(), clang::Type::getAs(), clang::Type::getAsCXXRecordDecl(), clang::Decl::getCanonicalDecl(), getCommentForDecl(), getOverriddenMethods(), getRawCommentForAnyRedecl(), clang::Decl::isInvalidDecl(), clang::QualType::isNull(), clang::NonVirtualBase, clang::RawComment::parse(), ParsedComments, and clang::VirtualBase.
Referenced by getCommentForDecl().
◆ getCommonSugaredType()Definition at line 14173 of file ASTContext.cpp.
References getCommonNonSugarTypeNode(), getCommonSugarTypeNode(), getQualifiedType(), clang::QualType::getTypePtr(), clang::QualType::getTypePtrOrNull(), hasSameType(), hasSameUnqualifiedType(), clang::QualType::isCanonical(), clang::SplitQualType::Quals, clang::Qualifiers::removeCommonQualifiers(), clang::QualType::split(), clang::SplitQualType::Ty, clang::Unqualified, unwrapSugar(), and X.
Referenced by clang::Sema::CheckConditionalOperands(), checkConditionalPointerCompatibility(), checkDeducedTemplateArguments(), clang::Sema::CheckMatrixElementwiseOperands(), clang::Sema::CheckMatrixMultiplyOperands(), clang::Sema::CheckVectorConditionalTypes(), clang::Sema::CheckVectorOperands(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DeduceAutoType(), clang::Sema::FindCompositePointerType(), getCommonArrayElementType(), getCommonElementType(), getCommonNonSugarTypeNode(), getCommonPointeeType(), getCommonSugarTypeNode(), getCommonTemplateArgument(), getCommonTypes(), clang::SemaHLSL::handleVectorBinOpConversion(), mergeTypeLists(), and clang::Sema::UsualArithmeticConversions().
◆ getComplexType() [1/2] ◆ getComplexType() [2/2]Return the uniqued reference to the type for a complex number with the specified element type.
getComplexType - Return the uniqued reference to the type for a complex number with the specified element type.
Definition at line 3782 of file ASTContext.cpp.
References getCanonicalType(), getComplexType(), clang::ComplexType::Profile(), and clang::T.
Referenced by clang::Sema::ActOnNumericConstant(), clang::Sema::AddModeAttr(), ConvertDeclSpecToType(), DecodeTypeFromStr(), getCommonNonSugarTypeNode(), getComplexType(), handleComplexFloatConversion(), handleComplexIntConversion(), handleIntToFloatConversion(), and clang::Sema::UsualUnaryFPConversions().
◆ getConstantArrayElementCount() uint64_t ASTContext::getConstantArrayElementCount ( const ConstantArrayType * CA ) const ◆ getConstantArrayType()Return the unique reference to the type for a constant array of the specified element type.
getConstantArrayType - Return the unique reference to the type for an array of the specified element type.
Definition at line 4076 of file ASTContext.cpp.
References getCanonicalType(), getConstantArrayType(), getQualifiedType(), clang::QualType::hasLocalQualifiers(), clang::QualType::isCanonical(), clang::Type::isConstantSizeType(), clang::Type::isDependentType(), clang::Type::isIncompleteType(), clang::Expr::isInstantiationDependent(), clang::ConstantArrayType::Profile(), clang::SplitQualType::Quals, clang::CanQual< T >::split(), and clang::SplitQualType::Ty.
Referenced by clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnNumericConstant(), actOnOMPReductionKindClause(), clang::Sema::BuildArrayType(), clang::Sema::BuildCXXNew(), clang::Sema::BuildPredefinedExpr(), clang::interp::CheckNewDeleteForms(), clang::interp::CheckNewTypeMismatch(), CheckStringInit(), clang::Sema::completeExprArrayBound(), CreateHexagonBuiltinVaListDecl(), CreatePNaClABIBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), clang::desugarForDiagnostic(), diagnoseListInit(), EmitDoacrossOrdered(), clang::Sema::FindCompositePointerType(), getAsArrayType(), getCommonNonSugarTypeNode(), clang::ArrayParameterType::getConstantArrayType(), getConstantArrayType(), clang::CodeGen::CodeGenModule::getObjCFastEnumerationStateType(), getStringLiteralArrayType(), getUnqualifiedArrayType(), getVariableArrayDecayedType(), mergeTypes(), clang::SemaObjC::ParseObjCStringLiteral(), clang::InitializationSequence::Perform(), clang::interp::SubPtr(), clang::interp::Pointer::toAPValue(), TryInitializerListConstruction(), TryListConversion(), TryOrBuildParenListInitialization(), and TryToFixInvalidVariablyModifiedType().
◆ getConstantMatrixType() ◆ getConstType() ◆ getCopyConstructorForExceptionObject() ◆ getCorrespondingSaturatedType()Definition at line 14272 of file ASTContext.cpp.
References clang::Type::castAs(), clang::BuiltinType::getKind(), clang::Type::isFixedPointType(), clang::Type::isSaturatedFixedPointType(), SatAccumTy, SatFractTy, SatLongAccumTy, SatLongFractTy, SatShortAccumTy, SatShortFractTy, SatUnsignedAccumTy, SatUnsignedFractTy, SatUnsignedLongAccumTy, SatUnsignedLongFractTy, SatUnsignedShortAccumTy, and SatUnsignedShortFractTy.
Referenced by ConvertDeclSpecToType(), and handleFixedPointConversion().
◆ getCorrespondingSignedFixedPointType()Definition at line 14439 of file ASTContext.cpp.
References AccumTy, clang::Type::castAs(), FractTy, clang::BuiltinType::getKind(), clang::Type::isUnsignedFixedPointType(), LongAccumTy, LongFractTy, SatAccumTy, SatFractTy, SatLongAccumTy, SatLongFractTy, SatShortAccumTy, SatShortFractTy, ShortAccumTy, and ShortFractTy.
Referenced by handleFixedPointConversion().
◆ getCorrespondingSignedType()Definition at line 11995 of file ASTContext.cpp.
References AccumTy, clang::Type::castAs(), FractTy, clang::Type::getAs(), getBitIntType(), getCorrespondingSignedType(), clang::BuiltinType::getKind(), getSignedWCharType(), getVectorType(), clang::Type::hasIntegerRepresentation(), clang::Type::hasSignedIntegerRepresentation(), Int128Ty, IntTy, clang::Type::isEnumeralType(), clang::Type::isFixedPointType(), clang::Type::isSignedFixedPointType(), LongAccumTy, LongFractTy, LongLongTy, LongTy, SatAccumTy, SatFractTy, SatLongAccumTy, SatLongFractTy, SatShortAccumTy, SatShortFractTy, ShortAccumTy, ShortFractTy, ShortTy, SignedCharTy, and clang::T.
Referenced by clang::Sema::BuildVAArgExpr(), clang::Sema::BuiltinChangeSignedness(), and getCorrespondingSignedType().
◆ getCorrespondingUnsaturatedType()Definition at line 14236 of file ASTContext.cpp.
References AccumTy, clang::Type::castAs(), FractTy, clang::BuiltinType::getKind(), clang::Type::isFixedPointType(), clang::Type::isUnsaturatedFixedPointType(), LongAccumTy, LongFractTy, ShortAccumTy, ShortFractTy, UnsignedAccumTy, UnsignedFractTy, UnsignedLongAccumTy, UnsignedLongFractTy, UnsignedShortAccumTy, and UnsignedShortFractTy.
◆ getCorrespondingUnsignedType()Definition at line 11921 of file ASTContext.cpp.
References clang::Type::castAs(), clang::Type::getAs(), getBitIntType(), getCorrespondingUnsignedType(), clang::BuiltinType::getKind(), getUnsignedWCharType(), getVectorType(), clang::Type::hasIntegerRepresentation(), clang::Type::hasUnsignedIntegerRepresentation(), clang::Type::isEnumeralType(), clang::Type::isFixedPointType(), clang::Type::isUnsignedFixedPointType(), SatUnsignedAccumTy, SatUnsignedFractTy, SatUnsignedLongAccumTy, SatUnsignedLongFractTy, SatUnsignedShortAccumTy, SatUnsignedShortFractTy, clang::T, UnsignedAccumTy, UnsignedCharTy, UnsignedFractTy, UnsignedInt128Ty, UnsignedIntTy, UnsignedLongAccumTy, UnsignedLongFractTy, UnsignedLongLongTy, UnsignedLongTy, UnsignedShortAccumTy, UnsignedShortFractTy, and UnsignedShortTy.
Referenced by clang::Sema::ActOnNumericConstant(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuiltinChangeSignedness(), checkPointerTypesForAssignment(), ConvertDeclSpecToType(), getCorrespondingUnsignedType(), getUIntPtrType(), handleIntegerConversion(), and handleIntegerVectorBinOpConversion().
◆ getCountAttributedType() ◆ getcudaConfigureCallDecl() FunctionDecl * clang::ASTContext::getcudaConfigureCallDecl ( ) inline ◆ getCUIDHash() StringRef ASTContext::getCUIDHash ( ) const ◆ getCurrentKeyFunction()Get our current best idea for the key function of the given record decl, or nullptr if there isn't one.
The key function is, according to the Itanium C++ ABI section 5.2.3: ...the first non-pure virtual function that is not inline at the point of class definition.
Other ABIs use the same idea. However, the ARM C++ ABI ignores virtual functions that are defined 'inline', which means that the result of this computation can change.
Definition at line 3417 of file RecordLayoutBuilder.cpp.
References computeKeyFunction(), clang::LazyOffsetPtr< T, OffsT, Get >::get(), clang::CXXRecordDecl::getDefinition(), getExternalSource(), getTargetInfo(), clang::LazyOffsetPtr< T, OffsT, Get >::isOffset(), clang::LazyOffsetPtr< T, OffsT, Get >::isValid(), and clang::Result.
Referenced by clang::Sema::ActOnFinishFunctionBody(), DeclMustBeEmitted(), clang::Sema::DefineUsedVTables(), clang::CodeGen::CodeGenModule::getVTableLinkage(), and clang::CodeGen::CodeGenVTables::isVTableExternal().
◆ getCurrentNamedModule() Module * clang::ASTContext::getCurrentNamedModule ( ) const inline ◆ getCVRQualifiedType() ◆ getCXXABIKind() ◆ getDecayedType() [1/3] ◆ getDecayedType() [2/3] ◆ getDecayedType() [3/3]Return the uniqued reference to the decayed version of the given type.
Can only be called on array and function types which decay to pointer types.
Definition at line 3877 of file ASTContext.cpp.
References getArrayDecayedType(), getDecayedType(), getPointerType(), clang::Type::isArrayType(), clang::Type::isFunctionType(), and clang::T.
Referenced by AdjustFunctionParmAndArgTypesForDeduction(), BuiltinAlignment(), clang::Sema::BuiltinDecay(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::deduceOpenCLAddressSpace(), getAdjustedParameterType(), getCommonSugarTypeNode(), getDecayedType(), and getExceptionObjectType().
◆ getDeclAlign()Return a conservative estimate of the alignment of the specified decl D
.
D
must not be a bitfield type, as bitfields do not have a valid alignment.
If ForAlignof
, references are treated like their underlying type and large arrays don't get any special treatment. If not ForAlignof
it computes the value expected by CodeGen: references are treated like pointers and large arrays get extra alignment.
Definition at line 1726 of file ASTContext.cpp.
References clang::TypeInfo::Align, clang::ast_matchers::arrayType, D, clang::ASTRecordLayout::getAlignment(), clang::Type::getAs(), getAsArrayType(), getASTRecordLayout(), getBaseElementType(), clang::ASTRecordLayout::getFieldOffset(), clang::TargetInfo::getMaxAlignedAttribute(), clang::Decl::getMaxAlignment(), getMinGlobalAlignOfVar(), clang::Type::getPointeeType(), getPointerType(), getPreferredTypeAlign(), clang::QualType::getQualifiers(), getTargetInfo(), getTypeSize(), clang::Qualifiers::hasUnaligned(), clang::Type::isFunctionType(), clang::Type::isIncompleteType(), Parent, clang::SC_Static, clang::T, toBits(), and toCharUnitsFromBits().
Referenced by clang::Sema::CheckThreadLocalForLargeAlignment(), emitAddrOfVarFromArray(), EmitFunctionDeclLValue(), EmitGlobalNamedRegister(), EmitGlobalVarDeclLValue(), emitOutlinedFunctionPrologue(), clang::CodeGen::CGOpenMPRuntime::getAddressOfLocalVariable(), clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::getAddressOfLocalVariable(), clang::CodeGen::CGOpenMPRuntimeGPU::getAddressOfLocalVariable(), clang::CodeGen::CGOpenMPRuntime::getAddrOfDeclareTargetVar(), GetAlignOfExpr(), getBaseAlignmentAndOffsetFromLValue(), clang::CodeGen::CGOpenMPRuntimeGPU::getKmpcAllocShared(), clang::Sema::getNamedReturnInfo(), clang::CodeGen::CodeGenModule::GetWeakRefReference(), clang::interp::interp__builtin_assume_aligned(), clang::interp::interp__builtin_is_aligned_up_down(), clang::Sema::RefersToMemberWithReducedAlignment(), and clang::interp::Compiler< Emitter >::VisitUnaryExprOrTypeTraitExpr().
◆ getDeclaratorForUnnamedTagDecl() ◆ getDeclAttrs() ◆ getDecltypeType() ◆ getDeducedTemplateName() ◆ getDeducedTemplateSpecializationType() ◆ getDefaultCallingConvention()Retrieves the default calling convention for the current target.
Definition at line 12874 of file ASTContext.cpp.
References clang::CC_C, clang::CC_M68kRTD, clang::CC_X86FastCall, clang::CC_X86RegCall, clang::CC_X86StdCall, clang::CC_X86VectorCall, clang::LangOptionsBase::DCC_CDecl, clang::LangOptionsBase::DCC_FastCall, clang::LangOptionsBase::DCC_None, clang::LangOptionsBase::DCC_RegCall, clang::LangOptionsBase::DCC_RtdCall, clang::LangOptionsBase::DCC_StdCall, clang::LangOptionsBase::DCC_VectorCall, getTargetInfo(), and hasFeature().
Referenced by addBlockPointerConversion(), addFunctionPointerConversion(), clang::Sema::adjustMemberFunctionCC(), clang::CodeGen::CodeGenTypes::arrangeMSCtorClosure(), clang::Sema::CheckCallingConvAttr(), compareConversionFunctions(), clang::Sema::DeclareGlobalAllocationFunction(), emitGlobalDtorWithCXAAtExit(), GetBuiltinType(), getCCForDeclaratorChunk(), getDummyLambdaType(), getImplicitMethodEPI(), getLambdaConversionFunctionCallConv(), GetOpenCLBuiltinFctOverloads(), hasDefaultCXXMethodCC(), and repeatForLambdaConversionFunctionCallingConvs().
◆ getDefaultOpenCLPointeeAddrSpace() LangAS clang::ASTContext::getDefaultOpenCLPointeeAddrSpace ( ) inline ◆ getDependentAddressSpaceType() ◆ getDependentBitIntType() QualType ASTContext::getDependentBitIntType ( bool Unsigned, Expr * BitsExpr ) const ◆ getDependentNameType()Definition at line 5722 of file ASTContext.cpp.
References getCanonicalNestedNameSpecifier(), getDependentNameType(), clang::QualType::isNull(), clang::DependentNameType::Profile(), and clang::T.
Referenced by clang::Sema::ActOnDependentTag(), clang::Sema::ActOnMSVCUnknownTypeName(), clang::Sema::ActOnTemplatedFriendTag(), clang::Sema::CheckTemplateTypeArgument(), clang::Sema::CheckTypenameType(), getCommonNonSugarTypeNode(), clang::Sema::getConstructorName(), getDependentNameType(), GetFullTypeForDeclarator(), clang::Sema::getInheritingConstructorName(), clang::Sema::getTypeName(), clang::TreeTransform< Derived >::RebuildDependentNameType(), and recoverFromTypeInKnownDependentBase().
◆ getDependentSizedArrayType()Return a non-unique reference to the type for a dependently-sized array of the specified element type.
getDependentSizedArrayType - Returns a non-unique reference to the type for a dependently-sized array of the specified element type.
FIXME: We will need these to be uniqued, or at least comparable, at some point.
Definition at line 4297 of file ASTContext.cpp.
References getCanonicalType(), getQualifiedType(), clang::DependentSizedArrayType::getSizeExpr(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), clang::DependentSizedArrayType::Profile(), clang::SplitQualType::Quals, clang::CanQual< T >::split(), and clang::SplitQualType::Ty.
Referenced by clang::Sema::BuildArrayType(), clang::desugarForDiagnostic(), getAsArrayType(), getCommonNonSugarTypeNode(), getUnqualifiedArrayType(), getVariableArrayDecayedType(), and clang::InitializationSequence::Perform().
◆ getDependentSizedExtVectorType() ◆ getDependentSizedMatrixType() ◆ getDependentTemplateName() [1/2] ◆ getDependentTemplateName() [2/2] ◆ getDependentTemplateSpecializationType() [1/2] ◆ getDependentTemplateSpecializationType() [2/2] ◆ getDependentVectorType() ◆ getDiagAllocator() ◆ getDiagnostics()Definition at line 1512 of file ASTContext.cpp.
References clang::SourceManager::getDiagnostics().
Referenced by checkNullabilityConsistency(), clang::CXXRecordDecl::completeDefinition(), clang::SYCLUniqueStableNameExpr::ComputeName(), createDeviceMangleContext(), createMangleContext(), clang::StructuralEquivalenceContext::Diag1(), clang::StructuralEquivalenceContext::Diag2(), clang::TypeLoc::dump(), clang::QualType::dump(), clang::APValue::dump(), clang::comments::Comment::dump(), clang::Stmt::dump(), clang::Decl::dump(), clang::DeclContext::dumpAsDecl(), clang::cross_tu::CrossTranslationUnitContext::emitCrossTUDiagnostics(), clang::ASTImporter::FromDiag(), getFunctionFeatureMap(), clang::interp::handleFixedPointOverflow(), clang::installapi::InstallAPIVisitor::HandleTranslationUnit(), clang::ASTImporter::Import(), clang::ASTReader::InitializeContext(), clang::RecordDecl::mayInsertExtraPadding(), clang::RawComment::parse(), rewriteToNumericBoxedExpression(), selectBestPath(), and clang::ASTImporter::ToDiag().
◆ getElaboratedType()Definition at line 5655 of file ASTContext.cpp.
References Allocate(), getCanonicalType(), clang::QualType::isCanonical(), clang::ElaboratedType::Profile(), and clang::T.
Referenced by clang::Sema::ActOnTagTemplateIdType(), clang::Sema::ActOnTypenameType(), adjustType(), buildNamedType(), clang::Sema::BuildStdInitializerList(), clang::Sema::CheckComparisonCategoryType(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckTypenameType(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitMoveAssignment(), clang::Sema::DeclareImplicitMoveConstructor(), getCommonSugarTypeNode(), clang::Sema::getDestructorName(), clang::Sema::getElaboratedType(), GetFullTypeForDeclarator(), lookupPromiseType(), clang::TreeTransform< Derived >::RebuildDependentNameType(), clang::TreeTransform< Derived >::RebuildDependentTemplateSpecializationType(), and clang::TreeTransform< Derived >::RebuildElaboratedType().
◆ getEnumType() ◆ getExceptionObjectType() ◆ getExnObjectAlignment() CharUnits ASTContext::getExnObjectAlignment ( ) const ◆ getExternalSource()Retrieve a pointer to the external AST source associated with this AST context, if any.
Definition at line 1274 of file ASTContext.h.
Referenced by adjustGVALinkageForExternalDefinitionKind(), clang::FrontendAction::BeginSourceFile(), clang::ExternalASTMerger::CompleteType(), clang::CodeGen::CodeGenModule::EmitTopLevelDecl(), getASTRecordLayout(), getCurrentKeyFunction(), clang::CXXRecordDecl::getLambdaContextDecl(), clang::Sema::getStdAlignValT(), clang::Sema::getStdBadAlloc(), clang::Sema::getStdNamespace(), clang::Sema::handleLambdaNumbering(), clang::Sema::hasAcceptableDefinition(), clang::Sema::Initialize(), IsStructurallyEquivalent(), clang::RedeclarableTemplateDecl::loadLazySpecializationsImpl(), clang::DeclContext::lookups(), clang::ParseAST(), clang::Parser::ParseFirstTopLevelDecl(), setNonKeyFunction(), clang::Decl::shouldEmitInExternalSource(), shouldOmitDefinition(), clang::Decl::updateOutOfDate(), clang::ASTNodeImporter::VisitRecordDecl(), and clang::Sema::~Sema().
◆ getExternCContextDecl() ◆ getExtVectorType()Return the unique reference to an extended vector type of the specified element type and size.
getExtVectorType - Return the unique reference to an extended vector type of the specified element type and size.
VectorType
must be a built-in type.
VectorType must be a built-in type.
Definition at line 4601 of file ASTContext.cpp.
References clang::Type::castAs(), clang::Generic, getCanonicalType(), getExtVectorType(), clang::BitIntType::getNumBits(), clang::Type::isBitIntType(), clang::Type::isBuiltinType(), clang::QualType::isCanonical(), clang::Type::isDependentType(), and clang::VectorType::Profile().
Referenced by adjustVectorType(), clang::Sema::BuildExtVectorType(), castVector(), CheckExtVectorComponent(), clang::Sema::CheckVectorConditionalTypes(), checkVectorShift(), convertVector(), DecodeTypeFromStr(), getCommonNonSugarTypeNode(), getExtVectorType(), clang::Sema::GetSignedVectorType(), handleIntegerVectorBinOpConversion(), LookupMemberExpr(), OpenCLConvertScalarsToVectors(), and clang::Sema::PerformImplicitConversion().
◆ getFieldOffset() uint64_t ASTContext::getFieldOffset ( const ValueDecl * FD ) const ◆ getFILEType() QualType clang::ASTContext::getFILEType ( ) const inline ◆ getFixedPointIBits() ◆ getFixedPointMax() llvm::APFixedPoint ASTContext::getFixedPointMax ( QualType Ty ) const ◆ getFixedPointMin() llvm::APFixedPoint ASTContext::getFixedPointMin ( QualType Ty ) const ◆ getFixedPointScale() ◆ getFixedPointSemantics() llvm::FixedPointSemantics ASTContext::getFixedPointSemantics ( QualType Ty ) constDefinition at line 14414 of file ASTContext.cpp.
References getFixedPointScale(), getIntWidth(), getTargetInfo(), getTypeSize(), clang::Type::isFixedPointType(), clang::Type::isIntegerType(), clang::Type::isSaturatedFixedPointType(), clang::Type::isSignedFixedPointType(), and clang::Type::isSignedIntegerType().
Referenced by clang::Sema::CheckImplicitConversion(), DiagnoseBadShiftValues(), getFixedPointMax(), getFixedPointMin(), clang::interp::Compiler< Emitter >::VisitCastExpr(), clang::interp::Compiler< Emitter >::VisitFixedPointBinOp(), and clang::interp::Compiler< Emitter >::VisitFixedPointLiteral().
◆ getFloatingTypeOrder()Compare the rank of the two specified floating point types, ignoring the domain of the type (i.e.
getFloatingTypeOrder - Compare the rank of the two specified floating point types, ignoring the domain of the type (i.e.
'double' == '_Complex double').
If LHS
> RHS
, returns 1. If LHS
== RHS
, returns 0. If LHS
< RHS
, return -1.
'double' == '_Complex double'). If LHS > RHS, return 1. If LHS == RHS, return 0. If LHS < RHS, return -1.
Definition at line 7789 of file ASTContext.cpp.
References getFloatingRank().
Referenced by getFloatingTypeSemanticOrder(), clang::StandardConversionSequence::getNarrowingKind(), handleComplexConversion(), handleFloatConversion(), handleFloatVectorBinOpConversion(), isArithmeticArgumentPromotion(), tryGCCVectorConvertAndSplat(), tryVectorConvertAndSplat(), and clang::Sema::UsualUnaryFPConversions().
◆ getFloatingTypeSemanticOrder() ◆ getFloatTypeSemantics() const llvm::fltSemantics & ASTContext::getFloatTypeSemantics ( QualType T ) constReturn the APFloat 'semantics' for the specified scalar floating point type.
getFloatTypeSemantics - Return the APFloat 'semantics' for the specified scalar floating point type.
Definition at line 1701 of file ASTContext.cpp.
References clang::Type::castAs(), clang::TargetInfo::getFloat128Format(), clang::BuiltinType::getKind(), getLangOpts(), clang::TargetInfo::getLongDoubleFormat(), and clang::T.
Referenced by actOnOMPReductionKindClause(), BuildFloatingLiteral(), canConvertIntTyToFloatTy(), CheckBitcastType(), clang::Sema::CheckFloatComparison(), clang::Sema::CheckImplicitConversion(), clang::Sema::checkTypeSupport(), clang::CIRGen::CIRGenTypes::convertType(), clang::CodeGen::CodeGenTypes::ConvertType(), DetectPrecisionLossInComplexDivision(), getFloatingTypeSemanticOrder(), clang::interp::Context::getFloatSemantics(), clang::StandardConversionSequence::getNarrowingKind(), clang::interp::interp__builtin_inf(), clang::interp::interp__builtin_nan(), IsFloatingPointConversion(), TryEvaluateBuiltinNaN(), tryGCCVectorConvertAndSplat(), and unsupportedTypeConversion().
◆ getFullLoc() ◆ getFunctionFeatureMap() [1/2] void ASTContext::getFunctionFeatureMap ( llvm::StringMap< bool > & FeatureMap, const FunctionDecl * FD ) const ◆ getFunctionFeatureMap() [2/2] void ASTContext::getFunctionFeatureMap ( llvm::StringMap< bool > & FeatureMap, GlobalDecl GD ) const ◆ getFunctionNoProtoType() [1/2] ◆ getFunctionNoProtoType() [2/2]Return a K&R style C function type like 'int()'.
getFunctionNoProtoType - Return a K&R style C function type like 'int()'.
Definition at line 4791 of file ASTContext.cpp.
References getCanonicalFunctionResultType(), getFunctionNoProtoType(), isCanonicalResultType(), and clang::FunctionNoProtoType::Profile().
Referenced by adjustFunctionResultType(), adjustFunctionType(), applyNullability(), clang::Sema::BuildDeclarationNameExpr(), clang::desugarForDiagnostic(), GeneralizeFunctionType(), GetBuiltinType(), getCommonNonSugarTypeNode(), GetFullTypeForDeclarator(), getFunctionNoProtoType(), clang::CodeGen::CodeGenModule::getFunctionPointer(), getFunctionTypeWithoutPtrSizes(), clang::Sema::ImplicitlyDefineFunction(), mergeFunctionTypes(), ProcessAPINotes(), and clang::TreeTransform< Derived >::RebuildFunctionNoProtoType().
◆ getFunctionType()Return a normal function type with a typed argument list.
Definition at line 1681 of file ASTContext.h.
Referenced by clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFunctionDeclarator(), actOnOMPReductionKindClause(), addBlockPointerConversion(), addFunctionPointerConversion(), clang::Sema::adjustCCAndNoReturn(), clang::Sema::AdjustDestructorExceptionSpec(), clang::TemplateDeclInstantiator::adjustForRewrite(), adjustFunctionResultType(), adjustFunctionType(), adjustFunctionTypeForInstantiation(), applyNullability(), clang::Sema::BuildFunctionType(), buildTypeForLambdaCallOperator(), BuiltinCallWithStaticChain(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), clang::Sema::CheckOverridingFunctionAttributes(), clang::CodeGen::CodeGenModule::CreateKCFITypeId(), clang::CodeGen::CodeGenModule::CreateRuntimeFunction(), clang::Sema::DeclareGlobalAllocationFunction(), clang::desugarForDiagnostic(), emitGlobalDtorWithCXAAtExit(), emitOutlinedFunctionPrologue(), clang::Sema::FindAllocationFunctions(), clang::Sema::FindCompositePointerType(), clang::Sema::findInheritingConstructor(), GeneralizeFunctionType(), GetBuiltinType(), getCommonNonSugarTypeNode(), getDummyLambdaType(), GetFullTypeForDeclarator(), clang::CodeGen::CGDebugInfo::getFunctionType(), getFunctionTypeWithExceptionSpec(), getFunctionTypeWithoutParamABIs(), getFunctionTypeWithoutPtrSizes(), clang::Sema::getLambdaConversionFunctionResultType(), GetOpenCLBuiltinFctOverloads(), getTaskloopRegionParams(), getTaskRegionParams(), clang::ento::MemRegionManager::getVarRegion(), handleFunctionTypeAttr(), handleNonBlockingNonAllocatingTypeAttr(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::Sema::IsFunctionConversion(), LookupDirect(), clang::Sema::MergeFunctionDecl(), mergeFunctionTypes(), mergeObjCGCQualifiers(), ProcessAPINotes(), rewriteBuiltinFunctionDecl(), clang::ASTDeclReader::UpdateDecl(), and clang::ASTNodeImporter::VisitFunctionDecl().
◆ getFunctionTypeWithExceptionSpec() ◆ getFunctionTypeWithoutParamABIs() ◆ getFunctionTypeWithoutPtrSizes() ◆ GetGVALinkageForFunction() ◆ GetGVALinkageForVariable() ◆ GetHigherPrecisionFPType() const QualType clang::ASTContext::GetHigherPrecisionFPType ( QualType ElementType ) const inline ◆ getHLSLAttributedResourceType() ◆ getIncompleteArrayType()Return a unique reference to the type for an incomplete array of the specified element type.
Definition at line 4361 of file ASTContext.cpp.
References getCanonicalType(), getIncompleteArrayType(), getQualifiedType(), clang::QualType::hasLocalQualifiers(), clang::QualType::isCanonical(), clang::IncompleteArrayType::Profile(), clang::SplitQualType::Quals, clang::CanQual< T >::split(), and clang::SplitQualType::Ty.
Referenced by clang::Sema::BuildArrayType(), clang::Sema::BuildCXXNew(), clang::desugarForDiagnostic(), clang::Sema::FindCompositePointerType(), getAsArrayType(), getCommonNonSugarTypeNode(), getIncompleteArrayType(), getUnqualifiedArrayType(), and mergeTypes().
◆ getInjectedClassNameType() ◆ getInjectedTemplateArg()Definition at line 5809 of file ASTContext.cpp.
References clang::TemplateArgument::CreatePackCopy(), DependentTy, E, getPackExpansionType(), getQualifiedTemplateName(), getTypeDeclType(), clang::Expr::getValueKindForType(), clang::TemplateTemplateParmDecl::isParameterPack(), clang::Type::isRecordType(), clang::Decl::isTemplateParameterPack(), clang::T, and clang::VK_LValue.
Referenced by clang::Sema::getIdentityTemplateArgumentLoc().
◆ getInlineVariableDefinitionKind()Determine whether a definition of this inline variable should be treated as a weak or strong definition.
For compatibility with C++14 and before, for a constexpr static data member, if there is an out-of-line declaration of the member, we may promote it from weak to strong.
Definition at line 8394 of file ASTContext.cpp.
References D, clang::First, clang::Redeclarable< decl_type >::getFirstDecl(), clang::Decl::getLexicalDeclContext(), clang::DeclContext::isFileContext(), clang::VarDecl::isInline(), None, clang::Redeclarable< decl_type >::redecls(), Strong, Weak, and WeakUnknown.
Referenced by basicGVALinkageForVariable(), and clang::CodeGen::CodeGenModule::EmitGlobal().
◆ getInnerObjCOwnership() ◆ getInstantiatedFromStaticDataMember() ◆ getInstantiatedFromUnnamedFieldDecl() ◆ getInstantiatedFromUsingDecl() ◆ getInstantiatedFromUsingEnumDecl() ◆ getInstantiatedFromUsingShadowDecl() ◆ getInt128Decl() ◆ getIntegerTypeOrder()Return the highest ranked integer type, see C99 6.3.1.8p1.
getIntegerTypeOrder - Returns the highest ranked integer type: C99 6.3.1.8p1.
If LHS
> RHS
, returns 1. If LHS
== RHS
, returns 0. If LHS
< RHS
, return -1.
If LHS > RHS, return 1. If LHS == RHS, return 0. If LHS < RHS, return -1.
Definition at line 7998 of file ASTContext.cpp.
References getCanonicalType(), getIntegerTypeForEnum(), clang::CanQual< T >::getTypePtr(), and clang::Type::isUnsignedIntegerType().
Referenced by canConvertIntToOtherIntTy(), handleIntegerConversion(), handleIntegerVectorBinOpConversion(), tryGCCVectorConvertAndSplat(), and tryVectorConvertAndSplat().
◆ getInterpContext()Returns the clang bytecode interpreter context.
Definition at line 887 of file ASTContext.cpp.
◆ getIntMaxType() ◆ getIntPtrType() QualType ASTContext::getIntPtrType ( ) const ◆ getIntTypeForBitwidth()getIntTypeForBitwidth - sets integer QualTy according to specified details: bitwidth, signed/unsigned.
Returns empty type if there is no appropriate target types.
Definition at line 13008 of file ASTContext.cpp.
References clang::TargetInfo::getIntTypeByWidth(), getTargetInfo(), Int128Ty, clang::Signed, and UnsignedInt128Ty.
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnNumericConstant(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPCanonicalLoop(), clang::Sema::AddModeAttr(), checkOpenMPLoop(), createKmpTaskTRecordDecl(), EmitAsmStores(), clang::CodeGen::CGOpenMPRuntimeGPU::emitCriticalRegion(), EmitDoacrossOrdered(), clang::CodeGen::CGOpenMPRuntime::emitForNext(), emitRestoreIP(), clang::CodeGen::CGOpenMPRuntime::emitThreadIDAddress(), clang::CodeGen::CGOpenMPRuntimeGPU::getDefaultDistScheduleAndChunk(), clang::CodeGen::CGOpenMPRuntime::getDefaultScheduleAndChunk(), clang::CodeGen::CGOpenMPRuntimeGPU::getDefaultScheduleAndChunk(), getParallelRegionParams(), clang::Sema::GetSignedSizelessVectorType(), getTaskloopRegionParams(), getTaskRegionParams(), and RVVType2Qual().
◆ getIntWidth()Definition at line 11910 of file ASTContext.cpp.
References clang::Type::getAs(), getTypeSize(), clang::Type::isBooleanType(), and clang::T.
Referenced by clang::Sema::ActOnCXXNew(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnNumericConstant(), clang::SemaOpenMP::ActOnOpenMPCanonicalLoop(), clang::Sema::ActOnStringLiteral(), AnalyzeComparison(), buildDistanceFunc(), clang::Sema::BuildPackIndexingExpr(), clang::Sema::BuildPackIndexingType(), BuiltinAlignment(), BuiltinOverflow(), canConvertIntToOtherIntTy(), canConvertIntTyToFloatTy(), clang::Sema::CheckEnumConstant(), CheckICE(), clang::Sema::CheckImplicitConversion(), clang::Sema::CheckTemplateArgument(), clang::interp::Context::classify(), ConvertAPValueToString(), DeduceFromInitializerList(), clang::Sema::DiagnoseAssignmentEnum(), DiagnoseBadShiftValues(), DiagnoseFloatingImpCast(), getFixedPointSemantics(), getIntegerWidthAndSignedness(), getLegacyIntegralTypeEncoding(), clang::StandardConversionSequence::getNarrowingKind(), getPromotedIntegerType(), clang::EnumDecl::getValueRange(), handleIntegerConversion(), handleIntegerVectorBinOpConversion(), handleVectorUnaryOperator(), clang::InitializationSequence::InitializeFrom(), clang::interp::interp__builtin_is_aligned_up_down(), isOverflowingIntegerType(), isRepresentableIntegerValue(), isValidStructGUID(), MakeIntValue(), clang::InitializationSequence::Perform(), clang::TreeTransform< Derived >::RebuildArrayType(), clang::TreeTransform< Derived >::RebuildBitIntType(), clang::TreeTransform< Derived >::RebuildExtVectorType(), and clang::Sema::VerifyBitField().
◆ getjmp_bufType() QualType clang::ASTContext::getjmp_bufType ( ) const inline ◆ getLangASForBuiltinAddressSpace() LangAS ASTContext::getLangASForBuiltinAddressSpace ( unsigned AS ) const ◆ getLangOpts() const LangOptions & clang::ASTContext::getLangOpts ( ) const inlineDefinition at line 834 of file ASTContext.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnDependentIdExpression(), clang::SemaObjC::ActOnStartOfObjCMethodDef(), clang::Sema::ActOnVarTemplateSpecialization(), AddEnumerators(), AddOverloadParameterChunks(), adjustGVALinkageForAttributes(), AlignOfType(), AllowOverloadingOfFunction(), areLaxCompatibleRVVTypes(), areLaxCompatibleSveTypes(), basicGVALinkageForFunction(), basicGVALinkageForVariable(), buildGlobalBlock(), buildImplicitRecord(), clang::Sema::BuildMatrixType(), builtinCommonTypeImpl(), CalculateHiddenNames(), canAssignObjCInterfacesInBlockPointer(), clang::Sema::CheckCompletedCXXClass(), CheckForIncompatibleAttributes(), CheckICE(), clang::Sema::CheckLogicalOperands(), ClassifyBinaryOp(), ClassifyConditional(), ClassifyDecl(), ClassifyInternal(), ClassifyMemberExpr(), ClassifyUnnamed(), clang::SemaCodeCompletion::CodeCompleteObjCMethodDecl(), clang::RecordDecl::completeDefinition(), clang::CXXRecordDecl::completeDefinition(), clang::computeDependence(), computeKeyFunction(), clang::LinkageComputer::computeLVForDecl(), clang::PredefinedExpr::ComputeName(), clang::analyze_os_log::computeOSLogBufferLayout(), computeOverflowPatternExclusion(), constructDebugPieceForTrackedCondition(), clang::CIRGen::CIRGenTypes::convertType(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::CXXThisExpr::Create(), CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), clang::Sema::CreateBuiltinUnaryOp(), createDataFixit(), createOverloadsForFixedParams(), clang::Sema::CreateRecoveryExpr(), clang::tooling::createRenameAtomicChanges(), clang::CodeGen::CodeGenModule::CreateRuntimeVariable(), createSpanTypeForVarDecl(), clang::Sema::CXXThisScopeRAII::CXXThisScopeRAII(), DecodeTypeFromStr(), clang::FunctionDecl::doesDeclarationForceExternallyVisibleDefinition(), clang::Stmt::dumpPretty(), clang::LocationContext::dumpStack(), EmitDeclDestroy(), EmitDeclInit(), emitMappingInformation(), emitStoresForConstant(), EncodeBitField(), clang::Expr::EvaluateAsInitializer(), clang::SourceLocExpr::EvaluateInContext(), clang::ASTMergeAction::ExecuteAction(), fixParamWithSpan(), fixUPCAddressofArraySubscriptWithSpan(), fixVarDeclWithArray(), FixVarInitializerWithSpan(), clang::FormatASTNodeDiagnosticArgument(), GenerateFixForUnusedDecl(), clang::index::generateUSRForDecl(), clang::index::generateUSRForType(), getAdjustedParameterType(), GetAlignOfType(), clang::tooling::getAssociatedRange(), getASTRecordLayout(), getAttrForPlatform(), clang::ento::MemRegionManager::getBlockDataRegion(), clang::FunctionDecl::getBuiltinID(), GetBuiltinType(), getByrefLifetime(), getCallingConvMangling(), getCanonicalParamType(), getCFConstantStringDecl(), clang::ASTNameGenerator::Implementation::getClassSymbolPrefix(), clang::ento::SValBuilder::getConditionType(), getCXXABIKind(), getDeclLanguageLinkage(), clang::LinkageComputer::getDeclLinkageAndVisibility(), GetDiagForGotoScopeDecl(), clang::ento::retaincountchecker::RefLeakReportVisitor::getEndPath(), DerefSimplePtrArithFixableGadget::getFixits(), UPCPreIncrementGadget::getFixits(), UUCAddAssignGadget::getFixits(), getFloatTypeSemantics(), clang::AnalysisDeclContext::getFunctionName(), GetGCAttrTypeForType(), clang::Expr::getIntegerConstantExpr(), clang::ento::CheckerContext::getLangOpts(), clang::interp::Context::getLangOpts(), clang::index::IndexingContext::getLangOpts(), clang::Decl::getLangOpts(), getLiteralInfo(), clang::CodeGen::CodeGenModule::getLLVMLinkageForDeclarator(), getLogicalOperationType(), clang::LinkageComputer::getLVForDecl(), getMacroName(), getMoreSpecialized(), clang::Sema::getMoreSpecializedTemplate(), clang::CXXRecordDecl::getMSVtorDispMode(), clang::StandardConversionSequence::getNarrowingKind(), clang::QualType::getNonLValueExprType(), getNSArrayObjects(), clang::NSAPI::GetNSIntegralKind(), getObjCEncodingForBlock(), getObjCGCAttrKind(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), clang::Sema::getPrintingPolicy(), getRealizedPlatform(), clang::DeclContext::getRedeclContext(), getRVVTypeSize(), clang::ObjCMethodDecl::getSelfType(), clang::ento::MemRegionManager::getStaticSize(), getStringLiteralArrayType(), getSVETypeSize(), clang::tooling::getText(), getTypeInfoDataSizeInChars(), getVTableContext(), clang::CodeGen::CodeGenModule::getVTableLinkage(), clang::ento::retaincountchecker::RetainCountChecker::handleAutoreleaseCounts(), handleBuiltinAliasAttr(), clang::Sema::handleTagNumbering(), clang::Decl::hasLocalOwningModuleStorage(), clang::ASTNodeImporter::hasReturnTypeDeclaredInside(), hasSameFunctionTypeIgnoringExceptionSpec(), clang::ast_matchers::libc_func_matchers::hasUnsafeFormatOrSArg(), InsertOCLBuiltinDeclarationsFromTable(), clang::Sema::isAcceptableNestedNameSpecifier(), clang::Expr::isCXX11ConstantExpr(), isDeclExternC(), clang::ParmVarDecl::isDestroyedInCallee(), clang::ObjCMethodDecl::isDirectMethod(), clang::ObjCPropertyDecl::isDirectProperty(), clang::FunctionDecl::isInlineDefinitionExternallyVisible(), clang::Expr::isIntegerConstantExpr(), clang::Sema::IsIntegralPromotion(), clang::Type::isIntegralType(), clang::VarDecl::isKnownToBeDefined(), clang::Sema::isLaxVectorConversion(), clang::Type::isLiteralType(), IsModifiable(), isMsLayout(), clang::VarDecl::isNoDestroy(), clang::QualType::isNonConstantStorage(), clang::QualType::isNonWeakInMRRWithObjCWeak(), clang::Expr::isNullPointerConstant(), isOutOfScopePreviousDeclaration(), clang::QualType::isPODType(), isPromotableBitField(), isPromotableIntegerType(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), isSameEntity(), IsStringInit(), isTypeSubstitutable(), clang::Expr::isUnusedResultAWarning(), clang::VarDecl::isUsableInConstantExpressions(), isUserWritingOffTheEnd(), clang::CXXMethodDecl::isUsualDeallocationFunction(), IsWideCharCompatible(), clang::CodeGen::ABIInfo::isZeroLengthBitfieldPermittedInHomogeneousAggregate(), clang::CXXRecordDecl::lambdaIsDefaultConstructibleAndAssignable(), LocPropertyAttribute(), mangleOverrideDiscrimination(), MarkUsedTemplateParameters(), matchesPostDecrInWhile(), clang::Sema::MaybeBindToTemporary(), clang::tooling::maybeExtendRange(), clang::RecordDecl::mayInsertExtraPadding(), clang::ASTDeclMerger::mergeLambda(), clang::ASTDeclReader::mergeMergeable(), clang::ASTDeclReader::mergeRedeclarable(), mergeTypes(), needsConversionOfHalfVec(), clang::Decl::operator new(), clang::ento::ConditionBRVisitor::patternMatch(), printExprAsWritten(), clang::ProgramPoint::printJson(), clang::LocationContext::printJson(), printNode(), PrintStats(), clang::ento::retaincountchecker::RetainCountChecker::processLeaks(), ProcessStmtAttribute(), clang::randstruct::randomizeStructureLayout(), clang::ASTDeclReader::ReadFunctionDefinition(), clang::CodeGen::CodeGenModule::Release(), reportAnalyzerFunctionMisuse(), resolveAllocationOverload(), clang::edit::rewriteObjCRedundantCallWithLiteral(), clang::edit::rewriteToObjCLiteralSyntax(), clang::CodeGen::CodeGenModule::setGlobalVisibility(), setInstantiatedFromUnnamedFieldDecl(), setObjCGCLValueClass(), shouldNotRewriteImmediateMessageArgs(), clang::shouldSkipCheckingODR(), ShouldUseExternalRTTIDescriptor(), clang::Sema::SpecialMemberIsTrivial(), clang::CodeGen::CodeGenModule::stopAutoInit(), clang::CodeGen::ConstantEmitter::tryEmitPrivate(), typesAreCompatible(), UnwrapSimilarArrayTypes(), UnwrapSimilarTypes(), clang::QualType::UseExcessPrecision(), useInlineVisibilityHidden(), clang::FunctionCallFilterCCC::ValidateCandidate(), clang::interp::Compiler< Emitter >::visitAttributedStmt(), clang::interp::Compiler< Emitter >::VisitCastExpr(), clang::interp::Compiler< Emitter >::VisitCompoundAssignOperator(), clang::interp::Compiler< Emitter >::VisitCXXTypeidExpr(), clang::ASTDeclReader::VisitDecl(), clang::interp::Compiler< Emitter >::visitDeclRef(), clang::ASTNodeImporter::VisitEnumDecl(), clang::ASTDeclReader::VisitEnumDecl(), clang::interp::Compiler< Emitter >::VisitExpressionTraitExpr(), clang::ASTDeclReader::VisitFieldDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ASTDeclReader::VisitFunctionDecl(), clang::ASTNodeImporter::VisitRecordDecl(), clang::interp::Compiler< Emitter >::VisitUnaryOperator(), and clang::ASTDeclReader::VisitVarDeclImpl().
◆ getLegacyIntegralTypeEncoding() void ASTContext::getLegacyIntegralTypeEncoding ( QualType & PointeeTy ) const ◆ getLifetimeQualifiedType() ◆ getLocalCommentForDeclUncached() ◆ getLogicalOperationType() QualType clang::ASTContext::getLogicalOperationType ( ) const inlineThe result type of logical operations, '<', '>', '!=', etc.
Definition at line 2139 of file ASTContext.h.
References BoolTy, getLangOpts(), and IntTy.
Referenced by clang::Sema::BuildTypeTrait(), checkArithmeticOrEnumeralCompare(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckVectorCompareOperands(), and clang::Sema::CreateBuiltinUnaryOp().
◆ getLValueReferenceType()Return the uniqued reference to the type for an lvalue reference to the specified type.
getLValueReferenceType - Return the uniqued reference to the type for an lvalue reference to the specified type.
Definition at line 3966 of file ASTContext.cpp.
References clang::Type::getAs(), getCanonicalType(), getLValueReferenceType(), clang::Type::isPlaceholderType(), clang::Type::isSpecificPlaceholderType(), clang::ReferenceType::Profile(), and clang::T.
Referenced by AddBuiltinAssignmentOperatorCandidates(), AdjustFunctionParmAndArgTypesForDeduction(), alignReferenceTypes(), buildDistanceFunc(), buildLoopVarFunc(), clang::Sema::BuildReferenceType(), clang::Sema::BuildVAArgExpr(), captureInCapturedRegion(), captureInLambda(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitMoveAssignment(), DecodeTypeFromStr(), DeduceNonTypeTemplateArgument(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::interp::InterpFrame::describe(), clang::desugarForDiagnostic(), DiagnoseForRangeConstVariableCopies(), DiagnoseForRangeReferenceVariableCopies(), clang::Expr::EvaluateAsLValue(), getCaptureFieldType(), getCommonNonSugarTypeNode(), clang::Sema::getDecltypeForExpr(), GetImplicitObjectParameterType(), clang::SemaHLSL::getInoutParameterType(), getLValueReferenceType(), clang::SubstNonTypeTemplateParmExpr::getParameterType(), getReferenceQualifiedType(), getVariableArrayDecayedType(), clang::ento::ExprEngine::handleLValueBitCast(), lookupPromiseType(), makeQualifiedLValueReferenceType(), NoteSurrogateCandidate(), clang::InitializationSequence::Perform(), clang::Sema::SpecialMemberIsTrivial(), clang::Sema::tryCaptureVariable(), and clang::CodeGen::ConstantEmitter::tryEmitConstantExpr().
◆ getMacroQualifiedType() ◆ getMakeIntegerSeqDecl() ◆ getMakeIntegerSeqName() ◆ getManglingNumber() ◆ getManglingNumberContext() [1/2] ◆ getManglingNumberContext() [2/2] ◆ getMemberPointerPathAdjustment() CharUnits ASTContext::getMemberPointerPathAdjustment ( const APValue & MP ) const ◆ getMemberPointerType()Return the uniqued reference to the type for a member pointer to the specified type in the specified class.
getMemberPointerType - Return the uniqued reference to the type for a member pointer to the specified type, in the specified class.
The class Cls
is a Type
because it could be a dependent name.
Definition at line 4045 of file ASTContext.cpp.
References getCanonicalType(), getMemberPointerType(), clang::Type::isCanonicalUnqualified(), clang::MemberPointerType::Profile(), and clang::T.
Referenced by clang::Sema::BuildMemberPointerType(), clang::Sema::CheckAddressOfOperand(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), decomposeTypeForEH(), clang::CodeGen::CGCXXABI::EmitMemberFunctionPointer(), clang::CodeGen::CodeGenModule::EmitVTableTypeMetadata(), clang::Sema::FindCompositePointerType(), clang::Sema::FixOverloadedFunctionReference(), getCommonNonSugarTypeNode(), clang::CodeGen::CodeGenModule::getMemberFunctionPointer(), getMemberPointerType(), getPointerAuthTypeDiscriminator(), GetTypeOfFunction(), clang::Sema::IsMemberPointerConversion(), IsStandardConversion(), and clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition().
◆ getMinGlobalAlignOfVar() unsigned ASTContext::getMinGlobalAlignOfVar ( uint64_t Size, const VarDecl * VD ) const ◆ getModuleInitializers() ◆ getModulesWithMergedDefinition() ◆ getMSGuidDecl() ◆ getMSGuidTagDecl() TagDecl * clang::ASTContext::getMSGuidTagDecl ( ) const inline ◆ getMSGuidType() QualType clang::ASTContext::getMSGuidType ( ) const inline ◆ getNameForTemplate()Definition at line 6874 of file ASTContext.cpp.
References clang::TemplateName::AssumedTemplate, DeclarationNames, clang::TemplateName::DeducedTemplate, clang::TemplateName::DependentTemplate, clang::DeclarationNameTable::getCXXOperatorName(), clang::NamedDecl::getDeclName(), clang::DependentTemplateName::getIdentifier(), clang::DeclarationNameTable::getIdentifier(), getNameForTemplate(), clang::DependentTemplateName::getOperator(), clang::SubstTemplateTemplateParmStorage::getParameter(), clang::SubstTemplateTemplateParmPackStorage::getParameterPack(), clang::DeducedTemplateStorage::getUnderlying(), clang::DependentTemplateName::isIdentifier(), clang::DeclarationNameLoc::makeCXXOperatorNameLoc(), clang::TemplateName::OverloadedTemplate, clang::TemplateName::QualifiedTemplate, clang::TemplateName::SubstTemplateTemplateParm, clang::TemplateName::SubstTemplateTemplateParmPack, clang::TemplateName::Template, and clang::TemplateName::UsingTemplate.
Referenced by clang::Sema::DecomposeUnqualifiedId(), getNameForTemplate(), and clang::Sema::GetNameFromUnqualifiedId().
◆ getNewOMPTraitInfo() ◆ getNextLocalImport() ◆ getNextStringLiteralVersion() unsigned clang::ASTContext::getNextStringLiteralVersion ( ) inlineReturn the next version number to be used for a string literal evaluated as part of constant evaluation.
Definition at line 3337 of file ASTContext.h.
◆ getNoSanitizeList() ◆ getNSCopyingName() ◆ getNSIntegerType() ◆ getNSObjectName() ◆ getNSUIntegerType() ◆ getObjCClassDecl() ◆ getObjCClassRedefinitionType() QualType clang::ASTContext::getObjCClassRedefinitionType ( ) const inline ◆ getObjCClassType() QualType clang::ASTContext::getObjCClassType ( ) const inline ◆ getObjCConstantStringInterface() QualType clang::ASTContext::getObjCConstantStringInterface ( ) const inline ◆ getObjCEncodingForBlock() std::string ASTContext::getObjCEncodingForBlock ( const BlockExpr * blockExpr ) constReturn the encoded type for this block declaration.
getObjCEncodingForBlock - Return the encoded type for this block declaration.
Definition at line 8420 of file ASTContext.cpp.
References clang::Type::castAs(), charUnitsToString(), clang::Type::getCanonicalTypeInternal(), getLangOpts(), getObjCEncodingForMethodParameter(), getObjCEncodingForType(), getObjCEncodingTypeSize(), getPointeeType(), clang::Expr::getType(), getTypeSizeInChars(), clang::Type::isFunctionType(), clang::CharUnits::isPositive(), clang::CharUnits::isZero(), clang::Decl::OBJC_TQ_None, and VoidPtrTy.
Referenced by buildBlockDescriptor(), and getBlockDescriptorName().
◆ getObjCEncodingForFunctionDecl() std::string ASTContext::getObjCEncodingForFunctionDecl ( const FunctionDecl * Decl ) const ◆ getObjCEncodingForMethodDecl()Emit the encoded type for the method declaration Decl
into S
.
getObjCEncodingForMethodDecl - Return the encoded type for this method declaration.
Definition at line 8534 of file ASTContext.cpp.
References charUnitsToString(), E, clang::Type::getCanonicalTypeInternal(), clang::ParmVarDecl::getObjCDeclQualifier(), getObjCEncodingForMethodParameter(), getObjCEncodingTypeSize(), clang::ParmVarDecl::getOriginalType(), clang::ValueDecl::getType(), getTypeSizeInChars(), clang::Type::isFunctionType(), clang::CharUnits::isPositive(), clang::CharUnits::isZero(), and VoidPtrTy.
◆ getObjCEncodingForMethodParameter() ◆ getObjCEncodingForPropertyDecl() std::string ASTContext::getObjCEncodingForPropertyDecl ( const ObjCPropertyDecl * PD, const Decl * Container ) constgetObjCEncodingForPropertyDecl - Return the encoded type for this method declaration.
getObjCEncodingForPropertyDecl - Return the encoded type for this property declaration.
If non-NULL, Container must be either an ObjCCategoryImplDecl or ObjCImplementationDecl; it should only be NULL when getting encodings for protocol properties.
If non-NULL, Container must be either an ObjCCategoryImplDecl or ObjCImplementationDecl; it should only be NULL when getting encodings for protocol properties. Property attributes are stored as a comma-delimited C string. The simple attributes readonly and bycopy are encoded as single characters. The parametrized attributes, getter=name, setter=name, and ivar=name, are encoded as single characters, followed by an identifier. Property types are also encoded as a parametrized attribute. The characters used to encode these attributes are defined by the following enumeration:
enum PropertyAttributes {
kPropertyReadOnly = 'R',
kPropertyBycopy = 'C',
kPropertyByref = '&',
kPropertyDynamic = 'D',
kPropertyGetter = 'G',
kPropertySetter = 'S',
kPropertyInstanceVariable = 'V'
kPropertyType = 'T'
kPropertyWeak = 'W'
kPropertyStrong = 'P'
kPropertyNonAtomic = 'N'
kPropertyOptional = '?'
};
Definition at line 8632 of file ASTContext.cpp.
References clang::ObjCPropertyDecl::Assign, clang::ObjCPropertyDecl::Copy, clang::ObjCPropertyImplDecl::Dynamic, clang::Selector::getAsString(), clang::ObjCPropertyDecl::getGetterName(), clang::NamedDecl::getNameAsString(), getObjCEncodingForPropertyType(), getObjCPropertyImplDeclForPropertyDecl(), clang::ObjCPropertyDecl::getPropertyAttributes(), clang::ObjCPropertyImplDecl::getPropertyIvarDecl(), clang::ObjCPropertyDecl::getSetterKind(), clang::ObjCPropertyDecl::getSetterName(), clang::ObjCPropertyDecl::getType(), clang::ObjCPropertyDecl::isOptional(), clang::ObjCPropertyDecl::isReadOnly(), clang::ObjCPropertyAttribute::kind_copy, clang::ObjCPropertyAttribute::kind_getter, clang::ObjCPropertyAttribute::kind_nonatomic, clang::ObjCPropertyAttribute::kind_retain, clang::ObjCPropertyAttribute::kind_setter, clang::ObjCPropertyAttribute::kind_weak, clang::ObjCPropertyDecl::Retain, and clang::ObjCPropertyDecl::Weak.
◆ getObjCEncodingForPropertyType() void ASTContext::getObjCEncodingForPropertyType ( QualType T, std::string & S ) const ◆ getObjCEncodingForType() void ASTContext::getObjCEncodingForType ( QualType T, std::string & S, const FieldDecl * Field =nullptr
, QualType * NotEncodedT = nullptr
) const ◆ getObjCEncodingForTypeQualifier() ◆ getObjCEncodingTypeSize() ◆ getObjCGCAttrKind()
Return one of the GCNone, Weak or Strong Objective-C garbage collection attributes.
getObjCGCAttr - Returns one of GCNone, Weak or Strong objc's garbage collection attribute.
Definition at line 10194 of file ASTContext.cpp.
References clang::Type::castAs(), clang::Qualifiers::GCNone, clang::Type::getCanonicalTypeInternal(), getLangOpts(), clang::QualType::getObjCGCAttr(), getObjCGCAttrKind(), clang::PointerType::getPointeeType(), clang::Type::isAnyPointerType(), clang::Type::isBlockPointerType(), clang::Type::isObjCObjectPointerType(), clang::Type::isPointerType(), clang::LangOptionsBase::NonGC, clang::ObjC, and clang::Qualifiers::Strong.
Referenced by getObjCGCAttrKind(), and clang::Expr::isOBJCGCCandidate().
◆ getObjCGCQualType()Return the uniqued reference to the type for an Objective-C gc-qualified type.
The resulting type has a union of the qualifiers from T and the gc attribute.
Definition at line 3540 of file ASTContext.cpp.
References clang::Qualifiers::addObjCGCAttr(), clang::Type::getAs(), getCanonicalType(), clang::QualType::getObjCGCAttr(), getObjCGCQualType(), clang::Type::getPointeeType(), getPointerType(), clang::Qualifiers::hasObjCGCAttr(), clang::Type::isAnyPointerType(), clang::QualifierCollector::strip(), and clang::T.
Referenced by clang::SemaObjC::ActOnPropertyImplDecl(), getObjCGCQualType(), handleObjCGCTypeAttr(), and mergeTypes().
◆ getObjCIdDecl() ◆ getObjCIdRedefinitionType() QualType clang::ASTContext::getObjCIdRedefinitionType ( ) const inline ◆ getObjCIdType() QualType clang::ASTContext::getObjCIdType ( ) const inlineRepresents the Objective-CC id
type.
This is set up lazily, by Sema. id
is always a (typedef for a) pointer type, a pointer to a struct.
Definition at line 2203 of file ASTContext.h.
References getObjCIdDecl(), and getTypeDeclType().
Referenced by clang::Sema::ActOnFinishFullExpr(), clang::SemaObjC::ActOnMethodDeclaration(), clang::SemaObjC::ActOnMethodParmDeclaration(), clang::SemaObjC::actOnObjCTypeParam(), clang::Sema::AddInitializerToDecl(), clang::SemaObjC::BuildInstanceMessage(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCDictionaryLiteral(), clang::SemaObjC::BuildObjCStringLiteral(), clang::SemaObjC::CheckMessageArgumentTypes(), clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage(), DecodeTypeFromStr(), clang::Sema::deduceVarTypeFromInitializer(), clang::desugarForDiagnostic(), clang::SemaObjC::FindCompositeObjCPointerType(), clang::CodeGen::CodeGenModule::getObjCFastEnumerationStateType(), getObjCIdRedefinitionType(), getObjCInstanceTypeDecl(), clang::ObjCMethodDecl::getSelfType(), isObjCIdType(), clang::Sema::MergeTypedefNameDecl(), clang::Sema::PerformContextuallyConvertToObjCPointer(), stripObjCInstanceType(), and TryContextuallyConvertToObjCPointer().
◆ getObjCImplementation() [1/2] ◆ getObjCImplementation() [2/2] ◆ getObjCInstanceType() QualType clang::ASTContext::getObjCInstanceType ( ) inline ◆ getObjCInstanceTypeDecl() ◆ getObjCInterfaceType()getObjCInterfaceType - Return the unique reference to the type for the specified ObjC interface decl.
The list of protocols is optional.
Definition at line 6224 of file ASTContext.cpp.
References Allocate(), and clang::T.
Referenced by clang::SemaObjC::ActOnClassPropertyRefExpr(), clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), clang::SemaObjC::ActOnStartCategoryImplementation(), clang::SemaObjC::ActOnStartCategoryInterface(), clang::SemaObjC::ActOnStartClassImplementation(), clang::SemaObjC::ActOnSuperClassOfClassInterface(), areCommonBaseCompatible(), clang::SemaObjC::BuildClassMessage(), clang::SemaObjC::BuildInstanceMessage(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCStringLiteral(), clang::Sema::BuildReturnStmt(), clang::SemaObjC::CheckObjCBridgeRelatedConversions(), clang::SemaObjC::CheckObjCMethodOverride(), clang::Sema::ClassifyName(), clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage(), clang::ObjCObjectType::computeSuperClassTypeSlow(), getBaseMessageSendResultType(), clang::SemaObjC::getMessageSendResultType(), getNSNumberFactoryMethod(), clang::SemaObjC::getObjCMessageKind(), getObjCProtoType(), clang::ObjCPropertyRefExpr::getReceiverType(), GetReturnType(), clang::ObjCMethodDecl::getSelfType(), clang::Sema::getTypeName(), IsStructurallyEquivalent(), LookupMethodInReceiverType(), and setObjCConstantStringInterface().
◆ getObjCMethodRedeclaration() ◆ getObjCNSStringType() QualType clang::ASTContext::getObjCNSStringType ( ) const inline ◆ getObjCObjectPointerType()Return a ObjCObjectPointerType type for the given ObjCObjectType.
getObjCObjectPointerType - Return a ObjCObjectPointerType type for the given object type.
Definition at line 6193 of file ASTContext.cpp.
References Allocate(), getCanonicalType(), getObjCObjectPointerType(), clang::QualType::isCanonical(), and clang::ObjCObjectPointerType::Profile().
Referenced by clang::SemaObjC::ActOnClassPropertyRefExpr(), clang::Sema::ActOnFields(), clang::SemaObjC::actOnObjCTypeParam(), clang::SemaObjC::ActOnSuperMessage(), applyObjCProtocolQualifiers(), areCommonBaseCompatible(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCDictionaryLiteral(), clang::SemaObjC::BuildObjCStringLiteral(), clang::Sema::BuildPointerType(), clang::Sema::BuildReturnStmt(), BuildSimilarlyQualifiedPointerType(), canBindObjCObjectType(), clang::Sema::CheckAddressOfOperand(), checkObjCKindOfType(), clang::Sema::CheckParameter(), clang::Sema::CheckVariableDeclarationType(), clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage(), clang::SemaObjC::CreatePropertyDecl(), clang::desugarForDiagnostic(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), clang::Sema::FindCompositePointerType(), getBaseMessageSendResultType(), getCommonNonSugarTypeNode(), GetFullTypeForDeclarator(), clang::ento::TypedValueRegion::getLocationType(), clang::SemaObjC::getMessageSendResultType(), getNSNumberFactoryMethod(), getObjCClassDecl(), getObjCIdDecl(), getObjCObjectPointerType(), GetReturnType(), clang::ObjCMethodDecl::getSelfType(), clang::ObjCObjectPointerType::getSuperClassType(), handleFormatArgAttr(), clang::SemaObjC::ParseObjCProtocolExpression(), clang::Sema::PerformImplicitConversion(), clang::TreeTransform< Derived >::RebuildObjCObjectPointerType(), and clang::ObjCObjectPointerType::stripObjCKindOfTypeAndQuals().
◆ getObjCObjectType() [1/2] ◆ getObjCObjectType() [2/2]Legacy interface: cannot provide type arguments or __kindof.
Definition at line 5924 of file ASTContext.cpp.
References getObjCObjectType().
Referenced by applyObjCProtocolQualifiers(), clang::applyObjCTypeArgs(), areCommonBaseCompatible(), clang::SemaObjC::BuildObjCDictionaryLiteral(), checkObjCKindOfType(), clang::desugarForDiagnostic(), getCommonNonSugarTypeNode(), getObjCClassDecl(), getObjCIdDecl(), getObjCObjectType(), clang::Type::getObjCSubstitutions(), and clang::ObjCObjectType::stripObjCKindOfTypeAndQuals().
◆ getObjContainingInterface() ◆ getObjCPropertyImplDeclForPropertyDecl() ◆ getObjCProtocolDecl() ◆ getObjCProtoType() QualType clang::ASTContext::getObjCProtoType ( ) const inline ◆ getObjCSelDecl() ◆ getObjCSelRedefinitionType() QualType clang::ASTContext::getObjCSelRedefinitionType ( ) const inline ◆ getObjCSelType() QualType clang::ASTContext::getObjCSelType ( ) const inline ◆ getObjCSuperType() QualType ASTContext::getObjCSuperType ( ) const ◆ getObjCTypeParamType() ◆ getOffsetOfBaseWithVBPtr() ◆ getOpenCLTypeAddrSpace() LangAS ASTContext::getOpenCLTypeAddrSpace ( const Type * T ) const ◆ getOpenCLTypeKind() ◆ getOpenMPDefaultSimdAlign() ◆ getOverloadedTemplateName() ◆ getOverriddenMethods()Return C++ or ObjC overridden methods for the given Method
.
An ObjC method is considered to override any method in the class's base classes, its protocols, or its categories' protocols, that has the same selector and is of the same kind (class or instance). A method in an implementation is not considered as overriding the same method in the interface or its categories.
Definition at line 1661 of file ASTContext.cpp.
References D, overridden_methods_begin(), and overridden_methods_end().
Referenced by getCommentForDecl().
◆ getPackExpansionType()Form a pack expansion type with the given pattern.
false
, we should not expect Pattern
to contain an unexpanded pack. This only makes sense if the pack expansion is used in a context where the arity is inferred from elsewhere, such as if the pattern contains a placeholder type or if this is the canonical type of another pack expansion type.
Definition at line 5859 of file ASTContext.cpp.
References clang::Type::containsUnexpandedParameterPack(), getCanonicalType(), getPackExpansionType(), clang::QualType::isCanonical(), clang::PackExpansionType::Profile(), and clang::T.
Referenced by clang::Sema::ActOnDecompositionDeclarator(), clang::Sema::buildLambdaInitCaptureInitialization(), CheckBindingsCount(), clang::Sema::CheckPackExpansion(), getCommonNonSugarTypeNode(), GetFullTypeForDeclarator(), getInjectedTemplateArg(), getPackExpansionType(), and clang::TreeTransform< Derived >::TransformExceptionSpec().
◆ getPackIndexingType() ◆ getParameterIndex()Used by ParmVarDecl to retrieve on the side the index of the parameter when it exceeds the size of the normal bitfield.
Definition at line 13144 of file ASTContext.cpp.
References D.
◆ getParentMapContext() ◆ getParents() [1/2] ◆ getParents() [2/2]template<typename NodeT >
◆ getParenType() ◆ getPointerAuthType() ◆ getPointerAuthTypeDiscriminator() uint16_t ASTContext::getPointerAuthTypeDiscriminator ( QualType T )Return the "other" type-specific discriminator for the given type.
Definition at line 3491 of file ASTContext.cpp.
References clang::Type::castAs(), createMangleContext(), encodeTypeForFunctionPointerAuth(), clang::EST_None, clang::Type::getAs(), clang::FunctionProtoType::getExceptionSpecType(), getFunctionTypeWithExceptionSpec(), getMemberPointerType(), clang::Type::getPointeeType(), clang::Type::isDependentType(), clang::Type::isFunctionPointerType(), clang::Type::isFunctionReferenceType(), clang::Type::isFunctionType(), and clang::T.
Referenced by clang::CodeGen::getPointerAuthTypeDiscriminator().
◆ getPointerAuthVTablePointerDiscriminator() uint16_t ASTContext::getPointerAuthVTablePointerDiscriminator ( const CXXRecordDecl * RD ) ◆ getPointerDiffType() QualType ASTContext::getPointerDiffType ( ) constReturn the unique type for "ptrdiff_t" (C99 7.17) defined in <stddef.h>.
getPointerDiffType - Return the unique type for "ptrdiff_t" (C99 7.17) defined in <stddef.h>.
Pointer - pointer requires this (C99 6.5.6p9).
Definition at line 6651 of file ASTContext.cpp.
References clang::Default.
Referenced by clang::ento::RangedConstraintManager::assumeSym(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::CheckSubtractionOperands(), clang::CodeGen::CGCXXABI::ConvertMemberPointerType(), DecodeTypeFromStr(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getItaniumDynamicCastFn(), getPreferredTypeAlign(), getPreferredTypeOfBinaryRHS(), clang::Sema::Initialize(), performTypeAdjustment(), and RVVType2Qual().
◆ getPointerType() [1/2] ◆ getPointerType() [2/2]Return the uniqued reference to the type for a pointer to the specified type.
getPointerType - Return the uniqued reference to the type for a pointer to the specified type.
Definition at line 3810 of file ASTContext.cpp.
References getCanonicalType(), getPointerType(), clang::PointerType::Profile(), and clang::T.
Referenced by clang::Sema::ActOnAddrLabel(), clang::Sema::ActOnCapturedRegionStart(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnIndirectGotoStmt(), actOnOMPReductionKindClause(), clang::Sema::ActOnSourceLocExpr(), clang::Sema::AddConversionCandidate(), addFunctionPointerConversion(), adjustCVQualifiersForCXXThisWithinLambda(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildCallExpr(), clang::Sema::BuildCXXNew(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), buildMemcpyForAssignmentOp(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCDictionaryLiteral(), clang::Sema::BuildPointerType(), clang::Sema::BuildResolvedCallExpr(), BuildSimilarlyQualifiedPointerType(), builtinAllocaAddrSpace(), BuiltinCallWithStaticChain(), BuiltinLaunder(), clang::Sema::CallExprUnaryConversions(), castValueFromUintptr(), clang::Sema::CheckAddressOfOperand(), clang::CodeGen::CGOpenMPRuntime::checkAndEmitLastprivateConditional(), clang::SemaHLSL::CheckBuiltinFunctionCall(), checkConditionalBlockPointerCompatibility(), checkConditionalObjectPointersCompatibility(), checkConditionalPointerCompatibility(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckFunctionCall(), clang::Sema::CheckMain(), clang::SemaARM::CheckNeonBuiltinFunctionCall(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), CheckOperatorDeleteDeclaration(), clang::checkPipePacketType(), clang::Sema::CheckPlaceholderExpr(), clang::Sema::CheckPointerToMemberOperands(), clang::Sema::CheckSpecifiedExceptionType(), CheckTemplateArgumentAddressOfObjectOrFunction(), clang::ento::ExprEngine::computeObjectUnderConstruction(), clang::ento::SValBuilder::conjureSymbolVal(), clang::Sema::ConstantFoldAttrArgs(), clang::SYCLUniqueStableNameExpr::Create(), CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), CreateCharPtrNamedVaListDecl(), clang::SYCLUniqueStableNameExpr::CreateEmpty(), CreateFunctionRefExpr(), CreateHexagonBuiltinVaListDecl(), clang::Sema::CreateOverloadedBinOp(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateVoidPtrBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), CreateXtensaABIBuiltinVaListDecl(), clang::CStyleCastPtrExpr(), clang::Sema::CXXThisScopeRAII::CXXThisScopeRAII(), clang::Sema::DeclareGlobalNewDelete(), clang::DecodePPCMMATypeFromStr(), DecodeTypeFromStr(), decomposeTypeForEH(), clang::Sema::DeduceReturnType(), clang::Sema::DeduceTemplateArguments(), clang::Sema::DefaultFunctionArrayConversion(), clang::CodeGen::CodeGenTypes::DeriveThisType(), clang::desugarForDiagnostic(), clang::APValue::dump(), emitDeclTargetVarDeclLValue(), clang::CodeGen::CGOpenMPRuntimeGPU::emitParallelCall(), EvaluateBooleanTypeTrait(), clang::Sema::EvaluateStaticAssertMessageAsString(), clang::SemaObjC::FindCompositeObjCPointerType(), clang::Sema::FindCompositePointerType(), GeneralizeType(), clang::CodeGen::CGOpenMPRuntime::getAddressOfLocalVariable(), clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::getAddressOfLocalVariable(), clang::CodeGen::CGOpenMPRuntime::getAddrOfDeclareTargetVar(), getArrayDecayedType(), getBlockDescriptorExtendedType(), getCanonicalParamType(), getCFConstantStringDecl(), getCommonNonSugarTypeNode(), clang::Sema::getCurrentThisType(), clang::ento::SValBuilder::getCXXThis(), getDecayedType(), getDeclAlign(), getGlobalStreamPointerByName(), clang::ento::CXXInstanceCall::getInitialStackFrameContents(), clang::ento::TypedValueRegion::getLocationType(), clang::CodeGen::CodeGenModule::getObjCFastEnumerationStateType(), getObjCGCQualType(), getObjCSelDecl(), getParallelRegionParams(), getPointerType(), getPreferredTypeOfUnaryArg(), getTaskloopRegionParams(), getTaskRegionParams(), GetTypeOfFunction(), getVariableArrayDecayedType(), handleCleanupAttr(), handleMSPointerTypeQualifierAttr(), HandleWebAssemblyFuncrefAttr(), InitBuiltinTypes(), clang::Sema::isObjCPointerConversion(), IsStandardConversion(), LookupMemberExpr(), LookupStdSourceLocationImpl(), clang::ento::SValBuilder::makeNullWithType(), mergeTypes(), NoteSurrogateCandidate(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformObjectMemberConversion(), clang::TreeTransform< Derived >::RebuildShuffleVectorExpr(), recordFixedType(), clang::CodeGen::CGOpenMPRuntime::registerTargetGlobalVariable(), RemoveAddressSpaceFromPtr(), removePtrSizeAddrSpace(), ResolveOverloadForDeduction(), rewriteBuiltinFunctionDecl(), RVVType2Qual(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), tryObjCWritebackConversion(), clang::ConversionFixItGenerator::tryToFixConversion(), TryToFixInvalidVariablyModifiedType(), clang::ento::ExprEngine::VisitCast(), and clang::ento::ExprEngine::VisitDeclStmt().
◆ getPredefinedStringLiteralFromCache() StringLiteral * ASTContext::getPredefinedStringLiteralFromCache ( StringRef Key ) const ◆ getPreferredTypeAlign() [1/2] unsigned ASTContext::getPreferredTypeAlign ( const Type * T ) constgetPreferredTypeAlign - Return the "preferred" alignment of the specified type for the current target in bits.
This can be different than the ABI alignment in cases where it is beneficial for performance or backwards compatibility preserving to overalign a data type. (Note: despite the name, the preferred alignment is ABI-impacting, and not an optimization.)
Definition at line 2572 of file ASTContext.cpp.
References clang::TypeInfo::Align, clang::TypeInfo::AlignRequirement, clang::Type::getAs(), getASTRecordLayout(), clang::Type::getBaseElementTypeUnsafe(), getPointerDiffType(), getPreferredTypeAlign(), getTypeInfo(), getTypeSize(), clang::TypeInfo::isAlignRequired(), clang::Decl::isInvalidDecl(), clang::Type::isMemberPointerType(), clang::Type::isSpecificBuiltinType(), clang::RequiredByTypedef, clang::T, and toBits().
◆ getPreferredTypeAlign() [2/2]Return the "preferred" alignment of the specified type T
for the current target, in bits.
This can be different than the ABI alignment in cases where it is beneficial for performance or backwards compatibility preserving to overalign a data type. (Note: despite the name, the preferred alignment is ABI-impacting, and not an optimization.)
Definition at line 2580 of file ASTContext.h.
References getPreferredTypeAlign(), and clang::T.
Referenced by AlignOfType(), getAlignOfGlobalVar(), GetAlignOfType(), getDeclAlign(), getPreferredTypeAlign(), getPreferredTypeAlignInChars(), and getTypeAlignIfKnown().
◆ getPreferredTypeAlignInChars() ◆ getPrimaryMergedDecl() Decl * clang::ASTContext::getPrimaryMergedDecl ( Decl * D ) inline ◆ getPrintingPolicy()Definition at line 733 of file ASTContext.h.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnFinishKNRParamDeclarations(), clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), clang::CodeGen::CodeGenTypes::addRecordTypeName(), annotateConsumedSummaryMismatch(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::CheckBaseSpecifier(), checkTypeParamListConsistency(), convertCallArgsToString(), ConvertDeclSpecToType(), ConvertTypeToDiagnosticString(), clang::ExtractAPIAction::CreateASTConsumer(), clang::WrappingExtractAPIAction::CreateASTConsumer(), clang::interp::InterpFrame::describe(), clang::ento::CallEvent::dump(), clang::Decl::dump(), clang::DeclContext::dumpDeclContext(), clang::Expr::EvaluateWithSubstitution(), clang::FormatASTNodeDiagnosticArgument(), generateDiagnosticsForCallLike(), clang::CodeGen::CodeGenModule::GenKernelArgMetadata(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::getBases(), clang::GetFullTypeName(), clang::interp::Record::getName(), clang::Sema::getPrintingPolicy(), getTupleLikeElementType(), clang::Sema::ImplicitlyDefineFunction(), clang::Expr::isPotentialConstantExpr(), isTupleLike(), isTypeIgnoredBySanitizer(), lookupStdTypeTraitMember(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::PrettyDeclStackTraceEntry::print(), printIndicesOfElementsToConstructJson(), clang::ProgramPoint::printJson(), clang::ento::Environment::printJson(), printObjectsUnderConstructionJson(), printPendingInitLoopJson(), clang::APValue::printPretty(), clang::printQuotedName(), clang::printQuotedQualifiedName(), clang::TextNodeDumper::VisitUnresolvedUsingTypenameDecl(), clang::TextNodeDumper::VisitUnresolvedUsingValueDecl(), clang::TextNodeDumper::VisitUsingDecl(), clang::JSONNodeDumper::VisitUsingDecl(), and WarnUndefinedMethod().
◆ getProcessIDType() QualType ASTContext::getProcessIDType ( ) constReturn the unique type for "pid_t" defined in <sys/types.h>.
We need this to compute the correct type for vfork().
Definition at line 6664 of file ASTContext.cpp.
Referenced by DecodeTypeFromStr().
◆ getProfileList() const ProfileList & clang::ASTContext::getProfileList ( ) const inline ◆ getPromotedIntegerType()Return the type that PromotableType
will promote to: C99 6.3.1.1p2, assuming that PromotableType
is a promotable integer type.
getPromotedIntegerType - Returns the type that Promotable will promote to: C99 6.3.1.1p2, assuming that Promotable is a promotable integer type.
Definition at line 7927 of file ASTContext.cpp.
References clang::Type::getAs(), getIntWidth(), getTypeSize(), IntTy, clang::QualType::isNull(), isPromotableIntegerType(), clang::Type::isSignedIntegerType(), clang::Type::isUnsignedIntegerType(), LongLongTy, LongTy, UnsignedIntTy, UnsignedLongLongTy, and UnsignedLongTy.
Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::ActOnTag(), clang::Sema::BuildVAArgExpr(), clang::Sema::CheckAdditionOperands(), checkArithmeticOrEnumeralThreeWayCompare(), GetFullTypeForDeclarator(), isArithmeticArgumentPromotion(), clang::Sema::UsualArithmeticConversions(), clang::Sema::UsualUnaryConversions(), and clang::interp::Compiler< Emitter >::VisitVectorBinOp().
◆ getQualifiedTemplateName()Retrieve the template name that represents a qualified template name such as std::vector
.
Definition at line 10005 of file ASTContext.cpp.
References clang::TemplateName::getKind(), clang::QualifiedTemplateName::Profile(), clang::TemplateName::Template, and clang::TemplateName::UsingTemplate.
Referenced by clang::Sema::ClassifyName(), DeduceTemplateSpecArguments(), clang::Sema::diagnoseMissingTemplateArguments(), clang::ClassTemplateDecl::getInjectedClassNameSpecialization(), getInjectedTemplateArg(), clang::Sema::getTypeName(), clang::ASTImporter::Import(), clang::Sema::isDeductionGuideName(), clang::Sema::isTemplateName(), clang::TreeTransform< Derived >::RebuildTemplateName(), and clang::Sema::resolveAssumedTemplateNameAsType().
◆ getQualifiedType() [1/3] ◆ getQualifiedType() [2/3] ◆ getQualifiedType() [3/3]Un-split a SplitQualType.
Definition at line 2296 of file ASTContext.h.
References getQualifiedType(), clang::SplitQualType::Quals, and clang::SplitQualType::Ty.
Referenced by clang::Sema::ActOnCXXDelete(), clang::SemaObjC::ActOnPropertyImplDecl(), AdoptQualifiers(), clang::QualifierCollector::apply(), clang::Sema::BuildCallExpr(), clang::Sema::BuildDeclRefExpr(), clang::Sema::BuildFieldReferenceExpr(), BuildImplicitBaseInitializer(), clang::Sema::BuildMemberExpr(), clang::Sema::BuildQualifiedType(), BuildSimilarlyQualifiedPointerType(), clang::Sema::BuiltinChangeCVRQualifiers(), clang::Sema::BuiltinChangeSignedness(), clang::Sema::BuiltinDecay(), clang::Sema::BuiltinRemoveReference(), checkARCPropertyImpl(), checkBlockPointerTypesForAssignment(), checkComplexDecomposition(), checkConditionalObjectPointersCompatibility(), checkConditionalPointerCompatibility(), checkMemberDecomposition(), CheckOriginalCallArgDeduction(), clang::Sema::CheckPointerToMemberOperands(), clang::Sema::CheckTemplateTypeArgument(), checkVectorDecomposition(), CompareStandardConversionSequences(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CXXThisScopeRAII::CXXThisScopeRAII(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::deduceVarTypeFromInitializer(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), clang::SemaObjC::FindCompositeObjCPointerType(), clang::Sema::FindCompositePointerType(), getArrayDecayedType(), getAsArrayType(), getBaseElementType(), getCanonicalFunctionResultType(), getCommonSugaredType(), getCommonSugarTypeNode(), getConstantArrayType(), getCVRQualifiedType(), getDependentSizedArrayType(), GetImplicitObjectParameterType(), getIncompleteArrayType(), getLifetimeQualifiedType(), getNonMemoryType(), getPointerAuthType(), getQualifiedType(), clang::ObjCMethodDecl::getSelfType(), getUnconstrainedType(), getUnqualifiedObjCPointerType(), getVariableArrayDecayedType(), getVariableArrayType(), handleObjCOwnershipTypeAttr(), clang::ASTImporter::Import(), inferARCLifetimeForPointee(), inferARCWriteback(), InitBuiltinTypes(), isSubstitutedType(), LookupMemberExpr(), clang::TreeTransform< Derived >::RebuildQualifiedType(), RemoveAddressSpaceFromPtr(), clang::ObjCObjectType::stripObjCKindOfTypeAndQuals(), transferARCOwnershipToDeclSpec(), TryObjectArgumentInitialization(), TryReferenceInitializationCore(), TryReferenceListInitialization(), TryRefInitWithConversionFunction(), and withoutUnaligned().
◆ getRawCFConstantStringType() QualType clang::ASTContext::getRawCFConstantStringType ( ) const inlineGet the structure type used to representation CFStrings, or NULL if it hasn't yet been built.
Definition at line 1973 of file ASTContext.h.
References getTypedefType().
◆ getRawCommentForAnyRedecl() const RawComment * ASTContext::getRawCommentForAnyRedecl ( const Decl * D, const Decl ** OriginalDecl =nullptr
) const
Return the documentation comment attached to a given declaration.
Returns nullptr if no comment is attached.
Definition at line 422 of file ASTContext.cpp.
References adjustDeclToTemplate(), cacheRawCommentForDecl(), CommentlessRedeclChains, D, DeclRawComments, clang::Decl::getCanonicalDecl(), getRawCommentForDeclNoCache(), RedeclChainComments, and clang::Decl::redecls().
Referenced by getCommentForDecl(), clang::getCompletionComment(), clang::getParameterComment(), and clang::getPatternCompletionComment().
◆ getRawCommentForDeclNoCache() RawComment * ASTContext::getRawCommentForDeclNoCache ( const Decl * D ) constReturn the documentation comment attached to a given declaration, without looking into cache.
Definition at line 313 of file ASTContext.cpp.
References Comments, CommentsLoaded, D, clang::RawCommentList::empty(), clang::File, clang::RawCommentList::getCommentsInFile(), getDeclLocsForCommentSearch(), clang::SourceManager::getDecomposedLoc(), getRawCommentForDeclNoCacheImpl(), and clang::ExternalASTSource::ReadComments().
Referenced by clang::extractapi::ExtractAPIVisitor< Derived >::fetchRawCommentForDecl(), clang::tooling::getAssociatedRange(), getLocalCommentForDeclUncached(), and getRawCommentForAnyRedecl().
◆ getRawCommentForDeclNoCacheImpl()CommentsInFile
for doc comment for D
.
RepresentativeLocForDecl
is used as a location for searching doc comments. CommentsInFile
is a mapping offset -> comment of files in the same file where RepresentativeLocForDecl
is.
Definition at line 235 of file ASTContext.cpp.
References clang::LangOptions::CommentOpts, Comments, D, clang::SourceManager::getBufferData(), clang::RawCommentList::getCommentBeginLine(), clang::RawCommentList::getCommentEndOffset(), clang::SourceManager::getDecomposedLoc(), clang::SourceManager::getLineNumber(), clang::Invalid, clang::RawComment::isDocumentation(), clang::SourceLocation::isFileID(), clang::SourceLocation::isInvalid(), clang::RawComment::isTrailingComment(), clang::CommentOptions::ParseAllComments, and Text.
Referenced by attachCommentsToJustParsedDecls(), and getRawCommentForDeclNoCache().
◆ getReadPipeType() ◆ getRealTypeForBitwidth()getRealTypeForBitwidth - sets floating point QualTy according to specified bitwidth.
Returns empty type if there is no appropriate target types.
Definition at line 13020 of file ASTContext.cpp.
References clang::Double, DoubleTy, clang::Float, clang::Float128, Float128Ty, FloatTy, clang::TargetInfo::getRealTypeByWidth(), getTargetInfo(), clang::Half, HalfTy, clang::Ibm128, Ibm128Ty, clang::LongDouble, LongDoubleTy, and clang::NoFloat.
Referenced by clang::Sema::AddModeAttr().
◆ getRecordType()Definition at line 5217 of file ASTContext.cpp.
References clang::Decl::getPreviousDecl().
Referenced by clang::Sema::ActOnSourceLocExpr(), clang::Sema::AddOverloadCandidate(), clang::ODRHash::AddStructuralValue(), clang::Sema::BuildUsingDeclaration(), clang::Sema::CheckCompletedCXXClass(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::checkIncorrectVTablePointerAuthenticationAttribute(), checkMemberDecomposition(), CheckOperatorDeleteDeclaration(), clang::Sema::CheckStructuredBindingMemberAccess(), clang::CodeGen::CGDebugInfo::completeClass(), clang::CXXRecordDecl::completeDefinition(), clang::CodeGen::CGDebugInfo::completeRequiredType(), clang::CodeGen::CGDebugInfo::completeUnusedClass(), ComputeDefaultedSpecialMemberExceptionSpec(), CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), CreateHexagonBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), CreateXtensaABIBuiltinVaListDecl(), clang::Sema::CXXThisScopeRAII::CXXThisScopeRAII(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::interp::InterpFrame::describe(), clang::Sema::DiagnoseEmptyLookup(), clang::Sema::DiagnoseInvalidExplicitObjectParameterInLambda(), clang::Sema::DiagnoseNontrivial(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CGCXXABI::EmitLoadOfMemberFunctionPointer(), clang::CodeGen::CodeGenModule::EmitVTableTypeMetadata(), clang::Sema::FindDeallocationFunction(), clang::Sema::FindDeallocationFunctionForDestructor(), findDecomposableBaseClass(), clang::StructuralEquivalenceContext::findUntaggedStructOrUnionIndex(), clang::ento::CXXInstanceCall::getInitialStackFrameContents(), getLValueType(), hasCopyOrMoveCtorParam(), clang::ASTNodeImporter::ImportAPValue(), clang::Sema::LookupInSuper(), recordFixedType(), recoverFromTypeInKnownDependentBase(), clang::CodeGen::CodeGenTypes::RefreshTypeCacheForClass(), clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition(), clang::Sema::SpecialMemberIsTrivial(), and clang::interp::Pointer::toRValue().
◆ getReferenceQualifiedType() QualType ASTContext::getReferenceQualifiedType ( const Expr * e ) constgetReferenceQualifiedType - Given an expr, will return the type for that expression, as in [dcl.type.simple]p4 but without taking id-expressions and class member access into account.
Definition at line 6298 of file ASTContext.cpp.
References E, getLValueReferenceType(), getRValueReferenceType(), clang::Expr::getType(), clang::Expr::getValueKind(), clang::T, clang::VK_LValue, clang::VK_PRValue, and clang::VK_XValue.
Referenced by clang::Sema::BuildExprRequirement(), diagnoseUnsatisfiedRequirement(), clang::ObjCMessageExpr::getCallReturnType(), clang::Sema::getDecltypeForExpr(), and clang::ento::CallEvent::getResultType().
◆ getRestrictType() ◆ getRValueReferenceType()Return the uniqued reference to the type for an rvalue reference to the specified type.
getRValueReferenceType - Return the uniqued reference to the type for an rvalue reference to the specified type.
Definition at line 4006 of file ASTContext.cpp.
References clang::Type::getAs(), getCanonicalType(), getRValueReferenceType(), clang::Type::isPlaceholderType(), clang::Type::isSpecificPlaceholderType(), clang::ReferenceType::Profile(), and clang::T.
Referenced by alignReferenceTypes(), clang::Sema::BuildReferenceType(), clang::Sema::DeclareImplicitMoveAssignment(), clang::Sema::DeclareImplicitMoveConstructor(), DeduceNonTypeTemplateArgument(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::desugarForDiagnostic(), EvaluateBooleanTypeTrait(), getAutoRRefDeductType(), getCommonNonSugarTypeNode(), GetImplicitObjectParameterType(), getReferenceQualifiedType(), getRValueReferenceType(), getVariableArrayDecayedType(), clang::ento::ExprEngine::handleLValueBitCast(), lookupPromiseType(), NoteSurrogateCandidate(), clang::InitializationSequence::Perform(), and clang::Sema::SpecialMemberIsTrivial().
◆ getScalableVectorType() ◆ getSideTableAllocatedMemory() size_t ASTContext::getSideTableAllocatedMemory ( ) constReturn the total memory used for various side tables.
Definition at line 12988 of file ASTContext.cpp.
◆ getsigjmp_bufType() QualType clang::ASTContext::getsigjmp_bufType ( ) const inline ◆ getSignatureParameterType() ◆ getSignedSizeType() ◆ getSignedWCharType() QualType ASTContext::getSignedWCharType ( ) const ◆ getSizeType()Return the unique type for "size_t" (C99 7.17), defined in <stddef.h>.
getSizeType - Return the unique type for "size_t" (C99 7.17), the result of the sizeof operator (C99 6.5.3.4p4).
The sizeof operator requires this (C99 6.5.3.4p4).
The value is target dependent and needs to agree with the definition in <stddef.h>.
Definition at line 6607 of file ASTContext.cpp.
Referenced by clang::Sema::ActOnCXXNew(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnNumericConstant(), actOnOMPReductionKindClause(), clang::Sema::ActOnStringLiteral(), appendParameterTypes(), clang::Sema::BuildArrayType(), clang::Sema::BuildArrayTypeTrait(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCXXNew(), buildMemcpyForAssignmentOp(), clang::Sema::BuildPackIndexingExpr(), clang::Sema::BuildPackIndexingType(), buildSingleCopyAssignRecursively(), captureVariablyModifiedType(), checkArraySize(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::checkOpenCLEnqueueLocalSizeArgs(), CheckOperatorNewDeclaration(), checkTupleLikeDecomposition(), clang::Sema::completeExprArrayBound(), constructStructuredBufferConstraintExpr(), clang::SizeOfPackExpr::Create(), CreateHexagonBuiltinVaListDecl(), CreatePNaClABIBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), CreateX86_64ABIBuiltinVaListDecl(), clang::Sema::DeclareGlobalNewDelete(), DecodeTypeFromStr(), DeduceFromInitializerList(), DeduceTemplateArgumentsByTypeMatch(), diagnoseListInit(), emitReduceCombFunction(), emitReduceFiniFunction(), emitReduceInitFunction(), emitStructGetterCall(), emitStructSetterCall(), clang::CodeGen::CGOpenMPRuntime::emitTaskReductionFixups(), clang::Sema::EvaluateStaticAssertMessageAsString(), clang::Sema::FindAllocationFunctions(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getBytesReturnedByAllocSizeCall(), getIndex(), clang::ConstantArrayType::getMaxSizeBits(), clang::ConstantArrayType::getNumAddressingBits(), getParallelRegionParams(), getPointerAndSize(), getTupleLikeElementType(), clang::ento::SymbolExtent::getType(), clang::Sema::Initialize(), isNonPlacementDeallocationFunction(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::CXXMethodDecl::isUsualDeallocationFunction(), matchesStlAllocatorFn(), clang::InitializationSequence::Perform(), RVVType2Qual(), TryInitializerListConstruction(), and TryListConversion().
◆ getSourceManager() [1/2]Definition at line 741 of file ASTContext.h.
Referenced by clang::SemaObjC::ActOnAtEnd(), clang::Sema::ActOnLabelStmt(), clang::CodeGen::CodeGenModule::AddDeferredUnusedCoverageMapping(), AddOverloadParameterChunks(), clang::CodeGen::CGDebugInfo::AddStringLiteralDebugInfo(), clang::CodeGen::CodeGenPGO::assignRegionCounters(), clang::Sema::CheckEquivalentExceptionSpec(), clang::StmtSequence::contains(), clang::index::CommentToXMLConverter::convertCommentToXML(), createDataFixit(), clang::CodeGen::CGOpenMPRuntime::createOffloadEntriesAndInfoMetadata(), createOverloadsForFixedParams(), clang::tooling::createRenameAtomicChanges(), createSpanTypeForVarDecl(), disambiguateSpellingInScope(), clang::Decl::dump(), clang::LocationContext::dumpStack(), clang::CodeGen::CodeGenModule::EmitAnnotationLineNo(), clang::CodeGen::CodeGenModule::EmitAnnotationUnit(), emitBody(), clang::CodeGen::CodeGenPGO::emitEmptyCounterMapping(), emitMappingInformation(), emitTargetTeamsLoopCodegenStatus(), clang::CodeGen::CGOpenMPRuntime::emitUpdateLocation(), clang::SourceLocExpr::EvaluateInContext(), clang::tooling::findSelectedASTNodes(), fixLocalVarDeclWithSpan(), fixParamWithSpan(), fixUPCAddressofArraySubscriptWithSpan(), fixVarDeclWithArray(), FixVarInitializerWithSpan(), GenerateFixForUnusedDecl(), getAsmSrcLocInfo(), clang::tooling::getAssociatedRange(), clang::BackendConsumer::getBestLocationFromDebugLoc(), getEnclosingStmtLocation(), getEntryInfoFromPresumedLoc(), DerefSimplePtrArithFixableGadget::getFixits(), UPCPreIncrementGadget::getFixits(), UUCAddAssignGadget::getFixits(), getFixIts(), clang::AnalysisDeclContext::getFunctionName(), getGlobalStreamPointerByName(), getIdentStringFromSourceLocation(), getLiteralInfo(), clang::CIRGen::CIRGenModule::getLoc(), clang::FunctionDecl::getReturnTypeSourceRange(), clang::ento::AnalysisManager::getSourceManager(), clang::tooling::getText(), clang::ento::MemRegionManager::getVarRegion(), clang::BackendConsumer::HandleInlineFunctionDefinition(), clang::BackendConsumer::HandleTagDeclDefinition(), clang::BackendConsumer::HandleTopLevelDecl(), clang::ASTImporter::Import(), clang::index::IndexingContext::importedModule(), clang::FilenamePatternConstraint::isAutoGenerated(), isForbiddenTypeAllowed(), clang::CodeGen::CodeGenModule::isFunctionBlockedByProfileList(), clang::ento::AnalysisManager::isInCodeFile(), clang::CodeGen::CodeGenModule::isInNoSanitizeList(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::isInSystemHeader(), clang::Sema::isLibstdcxxEagerExceptionSpecHack(), isStandardDelete(), isStandardNew(), LocPropertyAttribute(), makeLocation(), clang::Sema::makeUnavailableInSystemHeader(), clang::tooling::maybeExtendRange(), clang::Sema::MergeTypedefNameDecl(), clang::RawComment::parse(), clang::PrettyDeclStackTraceEntry::print(), printExprAsWritten(), printIndicesOfElementsToConstructJson(), clang::ProgramPoint::printJson(), clang::LocationContext::printJson(), printPendingInitLoopJson(), clang::CodeGen::CodeGenModule::printPostfixForExternalizedDecl(), clang::CodeGen::CGDebugInfo::setLocation(), clang::BackendConsumer::SrcMgrDiagHandler(), and clang::Sema::warnOnReservedIdentifier().
◆ getSourceManager() [2/2] ◆ getStaticLocalNumber() ◆ getStringLiteralArrayType() ◆ getSubstTemplateTemplateParm() ◆ getSubstTemplateTemplateParmPack() ◆ getSubstTemplateTypeParmPackType() ◆ getSubstTemplateTypeParmType() ◆ getSYCLKernelInfo() ◆ getTagDeclType()Return the unique reference to the type for the specified TagDecl (struct/union/class/enum) decl.
getTagDeclType - Return the unique reference to the type for the specified TagDecl (struct/union/class/enum) decl.
Definition at line 6597 of file ASTContext.cpp.
References getTypeDeclType().
Referenced by clang::Sema::ActOnCapturedRegionStart(), clang::Sema::ActOnTag(), BuildImplicitMemberInitializer(), clang::Sema::CheckAlignasUnderalignment(), clang::Sema::CheckConstructor(), clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), clang::CodeGen::CodeGenTypes::DeriveThisType(), clang::InitializationSequence::Diagnose(), emitBadConversionNotes(), clang::CodeGen::CodeGenVTables::GenerateConstructionVTable(), getBlockDescriptorExtendedType(), getBlockDescriptorType(), getCFConstantStringDecl(), clang::CodeGen::CodeGenTypes::getCGRecordLayout(), getMSGuidType(), clang::CodeGen::CodeGenModule::getObjCFastEnumerationStateType(), getObjCSuperType(), clang::CXXConstructorDecl::isCopyOrMoveConstructor(), clang::CXXConstructorDecl::isSpecializationCopyingObject(), LookupPredefedObjCSuperType(), clang::Sema::LookupSpecialMember(), mergeAlignedAttrs(), clang::Sema::PerformImplicitConversion(), clang::Sema::PrintInstantiationStack(), clang::TagDecl::printName(), clang::Sema::setTagNameForLinkagePurposes(), and clang::CodeGen::CodeGenTypes::UpdateCompletedType().
◆ getTargetAddressSpace()Definition at line 13290 of file ASTContext.cpp.
References clang::TargetInfo::getTargetAddressSpace(), and getTargetInfo().
Referenced by clang::Sema::BuildCallExpr(), buildGlobalBlock(), castStringLiteralToDefaultAddressSpace(), clang::CodeGen::CodeGenTypes::ConvertType(), createReferenceTemporary(), clang::CodeGen::CodeGenModule::createUnnamedGlobalFrom(), EmitDeclDestroy(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CodeGenModule::EmitOMPAllocateDecl(), GenerateStringLiteral(), clang::CodeGen::CGOpenMPRuntimeGPU::getAddressOfLocalVariable(), clang::CodeGen::CodeGenModule::GetAddrOfGlobalTemporary(), clang::CodeGen::CodeGenModule::getBlockDescriptorType(), clang::CodeGen::ConstantEmitter::getCurrentAddrPrivate(), clang::CodeGen::CGOpenCLRuntime::getGenericVoidPointerType(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), clang::CodeGen::CGOpenCLRuntime::getPointerType(), and clang::CodeGen::CodeGenTypes::getTargetAddressSpace().
◆ getTargetDefaultAlignForAttributeAligned() unsigned ASTContext::getTargetDefaultAlignForAttributeAligned ( ) const ◆ getTargetInfo() const TargetInfo & clang::ASTContext::getTargetInfo ( ) const inlineDefinition at line 799 of file ASTContext.h.
Referenced by clang::Sema::ActOnCXXTryBlock(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnIntegerConstant(), clang::SemaObjC::ActOnMethodDeclaration(), clang::Sema::ActOnNumericConstant(), clang::SemaObjC::ActOnObjCAvailabilityCheckExpr(), actOnOMPReductionKindClause(), clang::Sema::ActOnPragmaMSSeg(), clang::Sema::ActOnPragmaOptionsAlign(), clang::Sema::ActOnSEHTryBlock(), clang::Sema::ActOnStartOfFunctionDef(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::ActOnTag(), clang::Sema::ActOnTagFinishDefinition(), clang::SemaHLSL::ActOnTopLevelFunction(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::AddAlignedAttr(), clang::Sema::AddImplicitlyDeclaredMembersToClass(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddKnownFunctionAttributes(), clang::Sema::adjustMemberFunctionCC(), clang::CodeGen::CodeGenTypes::arrangeObjCMessageSendSignature(), AtomicUsesUnsupportedLibcall(), basicGVALinkageForFunction(), basicGVALinkageForVariable(), clang::Sema::BuildArrayType(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildBitIntType(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXThrow(), clang::Sema::BuildFunctionType(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildVAArgExpr(), canPassInRegisters(), clang::ento::SMTConstraintManager::canReasonAbout(), captureInLambda(), ChangeIntegralSignedness(), clang::Sema::CheckAddressOfOperand(), checkAliasedGlobal(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckAttrTarget(), CheckAvailability(), clang::Sema::CheckBaseSpecifier(), CheckBuiltinTargetInSupported(), CheckBuiltinTargetNotInUnsupported(), clang::Sema::checkCall(), clang::Sema::CheckCallingConvAttr(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::CheckCompletedCXXClass(), clang::Sema::CheckCompleteDestructorVariant(), clang::Sema::CheckCompleteVariableDeclaration(), clang::Sema::checkConstantPointerAuthKey(), clang::Sema::CheckCXXThrowOperand(), CheckDeclarationCausesMultiVersioning(), checkDLLAttributeRedeclaration(), clang::SemaHLSL::CheckEntryPoint(), clang::Sema::CheckEnumConstant(), clang::Sema::CheckFieldDecl(), CheckFormatString(), checkForMultipleExportedDefaultConstructors(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionReturnType(), checkInheritableAttr(), clang::Sema::CheckMain(), CheckMultiVersionAdditionalDecl(), CheckMultiVersionAdditionalRules(), CheckMultiVersionFunction(), CheckMultiVersionValue(), checkObjCMethodX86VectorTypes(), clang::Sema::CheckParameter(), clang::interp::CheckPointerToIntegralCast(), clang::Sema::CheckRegparmAttr(), clang::Sema::CheckSpecializationInstantiationRedecl(), clang::Sema::checkTargetAttr(), clang::Sema::checkTargetClonesAttrString(), clang::Sema::checkTargetVersionAttr(), clang::Sema::CheckThreadLocalForLargeAlignment(), clang::Sema::checkTypeSupport(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckVariableDeclarationType(), checkVAStartABI(), clang::Sema::CheckVectorOperands(), clang::CodeGen::DefaultABIInfo::classifyArgumentType(), clang::CodeGen::CodeGenModule::CodeGenModule(), computeKeyFunction(), clang::analyze_os_log::computeOSLogBufferLayout(), ConvertDeclSpecToType(), clang::CIRGen::CIRGenTypes::convertType(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::Sema::CreateLaunchBoundsAttr(), DeclMustBeEmitted(), DecodeTypeFromStr(), clang::Sema::DefaultArgumentPromotion(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DefineUsedVTables(), clang::SemaHLSL::DiagnoseAvailabilityViolations(), DiagnoseObjCImplementedDeprecations(), clang::Sema::diagnoseUnavailableAlignedAllocation(), clang::Sema::DiagnoseUseOfDecl(), clang::interp::DoBitCast(), clang::interp::DoBitCastPtr(), DoEmitAvailabilityWarning(), clang::CodeGen::CodeGenModule::EmitMainVoidAlias(), emitOMPAtomicRMW(), clang::CodeGen::CGOpenMPRuntime::emitThreadPrivateVarDefinition(), clang::SourceLocExpr::EvaluateInContext(), clang::DeclSpec::Finish(), clang::Sema::FixOverloadedFunctionReference(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), clang::Sema::FormatStringHasSArg(), funcHasParameterSizeMangling(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), clang::CodeGen::CGOpenMPRuntime::getAddrOfThreadPrivate(), clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::getAddrOfThreadPrivate(), clang::ASTNameGenerator::Implementation::getAllManglings(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getASTRecordLayout(), getAttrForPlatform(), getAvailabilityDiagnosticKind(), clang::FunctionDecl::getBuiltinID(), getCallingConvMangling(), getCCForDeclaratorChunk(), clang::interp::Context::getCharBit(), getConstantArrayInfoInChars(), getCurrentKeyFunction(), getCXXABIKind(), getDeclAlign(), getDefaultCallingConvention(), getFixedPointIBits(), getFixedPointScale(), getFixedPointSemantics(), GetFullTypeForDeclarator(), getInstrProfSection(), clang::interp::getIntPrimType(), getIntTypeForBitwidth(), getLangASForBuiltinAddressSpace(), clang::Sema::getLocationOfStringLiteralByte(), clang::interp::getLongPrimType(), clang::CodeGen::swiftcall::getMaximumVoluntaryIntegerSize(), getMinGlobalAlignOfVar(), getOpenMPDefaultSimdAlign(), clang::CodeGen::CGOpenMPRuntime::getOrCreateThreadPrivateCache(), getRealTypeForBitwidth(), getRVVTypeSize(), getTargetAddressSpace(), getTargetDefaultAlignForAttributeAligned(), getTargetNullPointerValue(), getTypeInfoLinkage(), clang::Decl::getVersionIntroduced(), handleAliasAttr(), clang::SemaX86::handleAnyInterruptAttr(), HandleArmSveVectorBitsTypeAttr(), handleAvailabilityAttr(), handleBuiltinAliasAttr(), handleCPUSpecificAttr(), handleDeclspecThreadAttr(), handleDLLAttr(), clang::SemaARM::handleInterruptAttr(), handleInterruptAttr(), handleMSPointerTypeQualifierAttr(), handleNakedAttr(), HandleNeonVectorTypeAttr(), clang::SemaHLSL::handleNumThreadsAttr(), handlePackedAttr(), handlePatchableFunctionEntryAttr(), HandleRISCVRVVVectorBitsTypeAttr(), handleTargetClonesAttr(), handleVisibilityAttr(), handleWeakImportAttr(), hasMatchingEnvironmentOrNone(), hasNewExtendedAlignment(), clang::ast_matchers::libc_func_matchers::hasUnsafeFormatOrSArg(), InitDeviceMC(), clang::CodeGen::initializationPatternFor(), clang::Sema::Initialize(), clang::Sema::InstantiateClassMembers(), clang::Sema::InstantiateDefaultCtorDefaultArgs(), clang::Sema::InstantiateFunctionDefinition(), clang::interp::interp__builtin_atomic_lock_free(), clang::interp::interp__builtin_eh_return_data_regno(), clang::interp::interp__builtin_memcmp(), clang::interp::interp__builtin_nan(), isAIXLayout(), isArc4RandomAvailable(), isDefaultStdCall(), clang::Type::isIncompleteType(), clang::CodeGen::swiftcall::isLegalIntegerType(), clang::FunctionDecl::isMSExternInline(), isMsLayout(), isMSStaticDataMemberInlineDefinition(), clang::FunctionDecl::isMSVCRTEntryPoint(), isNonViableMultiVersionOverload(), isPermittedNeonBaseType(), isStdBuiltin(), clang::Qualifiers::isTargetAddressSpaceSupersetOf(), clang::Sema::isValidSectionSpecifier(), clang::Sema::isValidVarArgType(), isVarDeclStrongDefinition(), IsVectorConversion(), clang::FieldDecl::isZeroSize(), clang::MangleContext::mangleName(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), clang::Sema::MarkFunctionReferenced(), clang::Sema::MarkVTableUsed(), MultiVersionTypesCompatible(), needsConversionOfHalfVec(), parseModeAttrArg(), patchDefaultTargetVersion(), clang::Sema::PerformImplicitConversion(), ProcessDeclAttribute(), clang::Sema::ProcessDeclAttributeList(), ProcessStmtAttribute(), clang::interp::readPointerToBuffer(), ReferenceDllExportedMembers(), clang::CodeGen::CodeGenModule::Release(), repeatForLambdaConversionFunctionCallingConvs(), roundUpSizeToCharAlignment(), ShouldDiagnoseAvailabilityInContext(), clang::TargetOMPContext::TargetOMPContext(), clang::CodeGen::ConstantEmitter::tryEmitPrivate(), TryEvaluateBuiltinNaN(), clang::QualType::UseExcessPrecision(), and clang::Sema::VerifyBitField().
◆ getTargetNullPointerValue() uint64_t ASTContext::getTargetNullPointerValue ( QualType QT ) const ◆ getTemplateOrSpecializationInfo() ◆ getTemplateParamObjectDecl() ◆ getTemplateSpecializationType() [1/2]Definition at line 5577 of file ASTContext.cpp.
References Allocate(), clang::TemplateName::getAsDependentTemplateName(), clang::TemplateName::getAsTemplateDecl(), getCanonicalTemplateSpecializationType(), getCanonicalType(), hasAnyPackExpansions(), clang::QualType::isNull(), and clang::TemplateDecl::isTypeAlias().
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::CheckTemplateIdType(), clang::desugarForDiagnostic(), getCommonNonSugarTypeNode(), getCommonSugarTypeNode(), clang::ClassTemplateDecl::getInjectedClassNameSpecialization(), clang::Sema::getMoreSpecializedPartialSpecialization(), getTemplateSpecializationType(), getTemplateSpecializationTypeInfo(), clang::TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization(), and clang::Sema::isMoreSpecializedThanPrimary().
◆ getTemplateSpecializationType() [2/2] ◆ getTemplateSpecializationTypeInfo()Definition at line 5530 of file ASTContext.cpp.
References clang::TemplateArgumentListInfo::arguments(), clang::TypeLoc::castAs(), CreateTypeSourceInfo(), clang::TemplateArgumentListInfo::getLAngleLoc(), clang::TemplateSpecializationTypeLoc::getNumArgs(), clang::TemplateArgumentListInfo::getRAngleLoc(), getTemplateSpecializationType(), clang::TypeSourceInfo::getTypeLoc(), clang::TemplateSpecializationTypeLoc::setArgLocInfo(), clang::TemplateSpecializationTypeLoc::setLAngleLoc(), clang::TemplateSpecializationTypeLoc::setRAngleLoc(), clang::TemplateSpecializationTypeLoc::setTemplateKeywordLoc(), and clang::TemplateSpecializationTypeLoc::setTemplateNameLoc().
Referenced by clang::Sema::ActOnClassTemplateSpecialization().
◆ getTemplateTypeParmType() ◆ getTranslationUnitDecl()Definition at line 1141 of file ASTContext.h.
References clang::Decl::getMostRecentDecl().
Referenced by clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnGlobalModuleFragmentDecl(), clang::SemaObjC::ActOnMethodParmDeclaration(), clang::Sema::ActOnModuleDecl(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnPragmaDetectMismatch(), clang::Sema::ActOnPragmaMSComment(), clang::Sema::ActOnPrivateModuleFragmentDecl(), clang::Sema::ActOnTemplateTemplateParameter(), clang::Sema::ActOnTranslationUnitScope(), clang::Sema::ActOnTypeParameter(), addFunctionPointerConversion(), clang::ASTImporter::ASTImporter(), buildBuiltinTemplateDecl(), buildImplicitRecord(), buildImplicitTypedef(), clang::Sema::BuildModuleInclude(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCDictionaryLiteral(), clang::SemaObjC::BuildObjCStringLiteral(), clang::Sema::BuildPredefinedExpr(), builtinCommonTypeImpl(), checkGlobalOrExternCConflict(), clang::SemaCodeCompletion::CodeCompleteNamespaceDecl(), clang::Sema::computeDeclContext(), configureBlocksRuntimeObject(), CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), clang::Sema::CreateBuiltin(), clang::Sema::createImplicitModuleImportForErrorRecovery(), clang::Sema::DeclApplyPragmaWeak(), clang::Sema::DeclareGlobalAllocationFunction(), emitOutlinedFunctionPrologue(), EvaluateBooleanTypeTrait(), clang::ASTMergeAction::ExecuteAction(), clang::IncrementalSyntaxOnlyAction::ExecuteAction(), clang::Sema::ExpandFunctionLocalPredefinedMacros(), clang::Sema::FindAllocationFunctions(), clang::tooling::findSelectedASTNodes(), clang::Sema::FindUsualDeallocationFunction(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), getExternCContextDecl(), getObjCProtocolDecl(), getObjCSuperType(), clang::Sema::getOrCreateStdNamespace(), clang::installapi::InstallAPIVisitor::HandleTranslationUnit(), HasNonDeletedDefaultedEqualityComparison(), InitBuiltinTypes(), clang::ASTReader::InitializeContext(), clang::HLSLExternalSemaSource::InitializeSema(), InsertOCLBuiltinDeclarationsFromTable(), InventTemplateParameter(), clang::ento::BugSuppression::isSuppressed(), LookupObjCInterfaceDeclForLiteral(), lookupStdNamespace(), makeLocation(), clang::ExternalASTMerger::MaybeRecordOrigin(), clang::TreeTransform< Derived >::RebuildShuffleVectorExpr(), resolveAllocationOverload(), resolveBuiltinNewDeleteOverload(), clang::Sema::SubstParmVarDecl(), clang::RecursiveASTVisitor< Derived >::TraverseAST(), clang::ASTDeclReader::VisitDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ASTNodeImporter::VisitImplicitParamDecl(), clang::ASTNodeImporter::VisitNonTypeTemplateParmDecl(), clang::ASTNodeImporter::VisitParmVarDecl(), clang::ASTNodeImporter::VisitTemplateTemplateParmDecl(), clang::ASTNodeImporter::VisitTemplateTypeParmDecl(), clang::ASTNodeImporter::VisitTranslationUnitDecl(), clang::ASTNodeImporter::VisitTypeAliasTemplateDecl(), and clang::ASTNodeImporter::VisitVarTemplateDecl().
◆ getTraversalScope() std::vector< Decl * > clang::ASTContext::getTraversalScope ( ) const inlineDefinition at line 726 of file ASTContext.h.
◆ getTrivialTypeSourceInfo()Allocate a TypeSourceInfo where all locations have been initialized to a given location, which defaults to the empty location.
Definition at line 3085 of file ASTContext.cpp.
References CreateTypeSourceInfo(), clang::TypeSourceInfo::getTypeLoc(), clang::TypeLoc::initialize(), and clang::T.
Referenced by clang::Sema::ActOnAliasDeclaration(), clang::Sema::ActOnArrayTypeTrait(), clang::Sema::ActOnBuiltinOffsetOf(), clang::SemaObjC::ActOnClassMessage(), clang::Sema::ActOnCompoundLiteral(), clang::Sema::ActOnCXXTypeConstructExpr(), clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnCXXUuidof(), clang::Sema::ActOnExceptionDeclarator(), clang::Sema::ActOnLastBitfield(), clang::SemaObjC::ActOnObjCBridgedCast(), clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), clang::SemaObjC::actOnObjCTypeParam(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPDeclareMapperDirectiveVarDecl(), clang::Sema::ActOnPseudoDestructorExpr(), clang::SemaObjC::ActOnStartClassImplementation(), clang::SemaObjC::ActOnStartClassInterface(), clang::Sema::ActOnStringLiteral(), clang::SemaObjC::ActOnSuperClassOfClassInterface(), clang::Sema::ActOnTypeTrait(), clang::SemaSYCL::ActOnUniqueStableNameExpr(), clang::Sema::ActOnUsingEnumDeclaration(), addBlockPointerConversion(), addFunctionPointerConversion(), clang::TemplateDeclInstantiator::adjustForRewrite(), adjustObjCTypeParamBoundType(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildCaptureField(), clang::SemaObjC::BuildClassMessageImplicit(), clang::Sema::buildCoroutinePromise(), clang::Sema::BuildCXXForRangeStmt(), buildDistanceFunc(), clang::Sema::BuildEmptyCXXFoldExpr(), BuildExpressionFromIntegralTemplateArgumentValue(), BuildImplicitBaseInitializer(), buildImplicitTypedef(), clang::Sema::BuildMemInitializer(), clang::Sema::BuildParmVarDeclForTypedef(), buildPostUpdate(), clang::Sema::BuildPseudoDestructorExpr(), buildSingleCopyAssignRecursively(), clang::Sema::BuildStdInitializerList(), buildVarDecl(), builtinCommonTypeImpl(), castForMoving(), CastForMoving(), checkBuiltinTemplateIdType(), CheckDeducedPlaceholderConstraints(), checkOpenMPLoop(), clang::Sema::CheckTemplateArgument(), checkTupleLikeDecomposition(), constructStructuredBufferConstraintExpr(), constructTypedBufferConstraintExpr(), createFieldForHostLayoutStruct(), createHostLayoutStruct(), clang::Sema::createLambdaInitCaptureVarDecl(), clang::SemaObjC::CreatePropertyDecl(), clang::CStyleCastPtrExpr(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DefineInheritingConstructor(), emitOutlinedFunctionPrologue(), clang::Sema::findInheritingConstructor(), clang::Sema::getDestructorName(), getDummyLambdaType(), GetFullTypeForDeclarator(), clang::Sema::getInheritingConstructorName(), clang::SemaObjC::getObjCMessageKind(), clang::Sema::getTemplateArgumentPackExpansionPattern(), clang::Sema::getTrivialTemplateArgumentLoc(), getTypeSourceInfoForStdAlignValT(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), handlePreferredName(), clang::ASTImporter::Import(), clang::TemplateSpecializationTypeLoc::initializeArgLocs(), clang::ObjCObjectTypeLoc::initializeLocal(), clang::TypeOfTypeLoc::initializeLocal(), clang::UnaryTransformTypeLoc::initializeLocal(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::TreeTransform< Derived >::InventTypeSourceInfo(), lookupCoroutineHandleType(), lookupPromiseType(), clang::NestedNameSpecifierLocBuilder::MakeTrivial(), clang::SemaObjC::ParseObjCEncodeExpression(), clang::Sema::ParseTypedefDecl(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), ProcessAPINotes(), RebuildDeclaratorInCurrentInstantiation(), translateTemplateArgument(), TryToFixInvalidVariablyModifiedTypeSourceInfo(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), and clang::ASTNodeImporter::VisitFunctionDecl().
◆ getTypeAlign() [1/2] unsigned clang::ASTContext::getTypeAlign ( const Type * T ) const inline ◆ getTypeAlign() [2/2]Return the ABI-specified alignment of a (complete) type T
, in bits.
Definition at line 2520 of file ASTContext.h.
References clang::TypeInfo::Align, getTypeInfo(), and clang::T.
Referenced by clang::Sema::BuildCXXNew(), getTypeAlignIfKnown(), getTypeAlignInChars(), getTypeUnadjustedAlign(), handlePackedAttr(), clang::SemaHLSL::handlePackOffsetAttr(), handleTransparentUnionAttr(), and mergeAlignedAttrs().
◆ getTypeAlignIfKnown()Return the alignment of a type, in bits, or 0 if the type is incomplete and we cannot determine the alignment (for example, from alignment attributes).
The returned alignment is the Preferred alignment if NeedsPreferredAlignment is true, otherwise is the ABI alignment.
Definition at line 1928 of file ASTContext.cpp.
References clang::Type::getAs(), getBaseElementType(), getPreferredTypeAlign(), getTypeAlign(), clang::Type::isIncompleteType(), and clang::T.
Referenced by hasNewExtendedAlignment(), and isVarDeclStrongDefinition().
◆ getTypeAlignInChars() [1/2] CharUnits ASTContext::getTypeAlignInChars ( const Type * T ) const ◆ getTypeAlignInChars() [2/2]Return the ABI-specified alignment of a (complete) type T
, in characters.
getTypeAlignInChars - Return the ABI-specified alignment of a type, in characters.
This method does not work on incomplete types.
Definition at line 2550 of file ASTContext.cpp.
References getTypeAlign(), clang::T, and toCharUnitsFromBits().
Referenced by AlignOfType(), AtomicUsesUnsupportedLibcall(), clang::Sema::CheckAlignasUnderalignment(), clang::Sema::checkArrayElementAlignment(), clang::Sema::CheckCastAlign(), clang::Sema::CheckCXXThrowOperand(), classifyType(), createReferenceTemporary(), clang::Sema::DiscardMisalignedMemberAddress(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CGOpenMPRuntime::getAddrOfArtificialThreadPrivate(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), clang::CodeGen::CodeGenModule::GetAddrOfGlobalTemporary(), clang::CodeGen::CodeGenModule::GetAddrOfUnnamedGlobalConstantDecl(), GetAlignOfType(), clang::Sema::getNamedReturnInfo(), clang::CodeGen::CodeGenModule::getNaturalTypeAlignment(), clang::CodeGen::CGOpenCLRuntime::getPipeElemAlign(), getPresumedAlignmentOfPointer(), clang::interp::interp__builtin_atomic_lock_free(), clang::SemaOpenMP::isOpenMPCapturedByRef(), and clang::Sema::RefersToMemberWithReducedAlignment().
◆ getTypeDeclType()Return the unique reference to the type for the specified type declaration.
Definition at line 1703 of file ASTContext.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnExplicitInstantiation(), clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), clang::Sema::ActOnStartCXXMemberDeclarations(), clang::SemaObjC::ActOnSuperClassOfClassInterface(), clang::Sema::AddOverloadCandidate(), clang::Sema::AddOverriddenMethods(), AddResultTypeChunk(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildMemInitializer(), clang::Sema::BuildMicrosoftCAnonymousStruct(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildTypeConstraint(), clang::Sema::BuildUsingDeclaration(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckConstructorAccess(), clang::Sema::CheckDestructorAccess(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckFunctionDeclaration(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), clang::Sema::CheckTemplateIdType(), clang::Sema::CheckTypenameType(), clang::Sema::ClassifyName(), constructStructuredBufferConstraintExpr(), constructTypedBufferConstraintExpr(), ConvertDeclSpecToType(), clang::ClassTemplateSpecializationDecl::Create(), clang::LambdaExpr::Create(), clang::Sema::DeclareGlobalAllocationFunction(), clang::Sema::DeclareGlobalNewDelete(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::DeclareImplicitDestructor(), clang::Sema::DeclareImplicitMoveAssignment(), clang::Sema::DeclareImplicitMoveConstructor(), clang::Sema::deduceClosureReturnType(), clang::Sema::DeduceTemplateArgumentsFromType(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseAmbiguousLookup(), DiagnoseBadAccess(), clang::Sema::diagnoseQualifiedDeclaration(), clang::Sema::DiagnoseUninstantiableTemplate(), DumpRecordLayout(), EmitMemberInitializer(), clang::Sema::FindAllocationFunctions(), FindBaseInitializer(), clang::Sema::FindInstantiatedDecl(), clang::Sema::FixOverloadedFunctionReference(), clang::FormatASTNodeDiagnosticArgument(), clang::Sema::getAmbiguousPathsDisplayString(), getBOOLType(), getBuiltinMSVaListType(), getBuiltinVaListType(), clang::Sema::getConstructorName(), getConstructors(), clang::Sema::getCurrentThisType(), GetDeclSpecTypeForDeclarator(), clang::CXXRecordDecl::getDestructor(), clang::Sema::getDestructorName(), clang::Expr::getEnumCoercedType(), getFILEType(), GetFullTypeForDeclarator(), getInjectedTemplateArg(), getjmp_bufType(), clang::Sema::GetNameFromUnqualifiedId(), getObjCClassType(), getObjCIdType(), getObjCInstanceType(), clang::SemaObjC::getObjCMessageKind(), getObjCSelType(), getRequiredQualification(), getsigjmp_bufType(), getTagDeclType(), getTupleLikeElementType(), clang::Sema::getTypeName(), GetTypeOfFunction(), getTypeSourceInfoForStdAlignValT(), getucontext_tType(), clang::ASTNodeImporter::ImportDefinition(), clang::TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization(), InventTemplateParameter(), clang::Sema::isAcceptableNestedNameSpecifier(), clang::CXXMethodDecl::isCopyAssignmentOperator(), clang::Sema::isIncompatibleTypedef(), clang::CXXMethodDecl::isMoveAssignmentOperator(), isNonPlacementDeallocationFunction(), IsOverloadOrOverrideImpl(), IsStandardConversion(), IsStructurallyEquivalent(), clang::Sema::LookupConstructors(), lookupPromiseType(), clang::Sema::LookupQualifiedName(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), clang::Sema::MarkVirtualBaseDestructorsReferenced(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), clang::Sema::PerformObjectMemberConversion(), clang::TreeTransform< Derived >::RebuildDependentNameType(), clang::TreeTransform< Derived >::RebuildEnumType(), clang::TreeTransform< Derived >::RebuildRecordType(), clang::TreeTransform< Derived >::RebuildTypedefType(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), clang::Sema::RequireCompleteDeclContext(), clang::LookupResult::resolveKind(), ShouldDiagnoseSwitchCaseNotInEnum(), clang::Sema::SubstTypeConstraint(), TryDiagnoseProtectedAccess(), TryObjectArgumentInitialization(), clang::CXXRecordDecl::viewInheritance(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), and clang::ASTNodeImporter::VisitRecordDecl().
◆ getTypedefNameForUnnamedTagDecl() ◆ getTypedefType()Return the unique reference to the type for the specified typedef-name decl.
getTypedefType - Return the unique reference to the type for the specified typedef name decl.
Definition at line 5156 of file ASTContext.cpp.
References Allocate(), getCanonicalType(), hasSameType(), clang::QualType::isNull(), clang::TypedefType::Profile(), and clang::T.
Referenced by CheckExtVectorComponent(), CreateHexagonBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), getCFConstantStringType(), getCommonSugarTypeNode(), getOpenCLTypedefType(), and getRawCFConstantStringType().
◆ getTypeInfo() [1/2] ◆ getTypeInfo() [2/2] ◆ getTypeInfoDataSizeInChars() ◆ getTypeInfoInChars() [1/2]Definition at line 1870 of file ASTContext.cpp.
References clang::TypeInfo::Align, clang::TypeInfo::AlignRequirement, getConstantArrayInfoInChars(), getTypeInfo(), clang::T, toCharUnitsFromBits(), and clang::TypeInfo::Width.
Referenced by clang::Sema::BuildAtomicExpr(), computeBlockInfo(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::EmitVAArgInstr(), getConstantArrayInfoInChars(), getTypeInfoDataSizeInChars(), getTypeInfoInChars(), and getTypeSizeInChars().
◆ getTypeInfoInChars() [2/2] ◆ getTypeOfExprType() ◆ getTypeOfType() ◆ getTypePackElementDecl() ◆ getTypePackElementName() ◆ getTypes() ◆ getTypeSize() [1/2] uint64_t clang::ASTContext::getTypeSize ( const Type * T ) const inline ◆ getTypeSize() [2/2] uint64_t clang::ASTContext::getTypeSize ( QualType T ) const inlineReturn the size of the specified (complete) type T
, in bits.
Definition at line 2489 of file ASTContext.h.
References getTypeInfo(), clang::T, and clang::TypeInfo::Width.
Referenced by clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnLastBitfield(), clang::Sema::ActOnNumericConstant(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPReverseDirective(), clang::SemaOpenMP::ActOnOpenMPTileDirective(), clang::Sema::ActOnVariableDeclarator(), addFieldSizes(), clang::Sema::AddModeAttr(), areCompatibleRVVTypes(), areCompatibleSveTypes(), areLaxCompatibleRVVTypes(), areLaxCompatibleSveTypes(), clang::Sema::areVectorTypesSameSize(), assertEqualBitWidths(), BitsContainNoUserData(), clang::Sema::BuildArrayType(), clang::Sema::BuildAsTypeExpr(), clang::Sema::BuildCXXNew(), buildMemcpyForAssignmentOp(), buildSingleCopyAssignRecursively(), clang::Sema::BuildVectorType(), calculateElementType(), calculateLegacyCbufferSize(), calculateOffset(), canConvertIntTyToFloatTy(), canPassInRegisters(), ChangeIntegralSignedness(), checkAPINotesReplacementType(), checkAVXParam(), CheckBitcastType(), clang::SemaRISCV::CheckBuiltinFunctionCall(), CheckC23ConstexprInitStringLiteral(), clang::Sema::CheckCompatibleReinterpretCast(), clang::Sema::CheckImplicitConversion(), clang::CheckInvalidVLENandLMUL(), clang::SemaRISCV::checkRVVTypeSupport(), clang::Sema::CheckSizelessVectorConditionalTypes(), checkSizelessVectorShift(), clang::Sema::CheckTemplateArgument(), clang::Sema::checkTypeSupport(), clang::Sema::CheckVectorConditionalTypes(), clang::Sema::CheckVectorOperands(), checkVectorResult(), checkVectorShift(), clang::CodeGen::DefaultABIInfo::classifyArgumentType(), CompareStandardConversionSequences(), clang::Sema::completeExprArrayBound(), constructStructuredBufferConstraintExpr(), ConvertDeclSpecToType(), clang::CIRGen::CIRGenTypes::convertType(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::CodeGen::CodeGenTypes::convertTypeForLoadStore(), clang::CodeGen::CodeGenTypes::ConvertTypeForMem(), CreateHexagonBuiltinVaListDecl(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), CreatePNaClABIBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), DeduceTemplateArgumentsByTypeMatch(), DiagnoseBadShiftValues(), DiagnoseDivisionSizeofPointerOrArray(), DiagnoseForRangeConstVariableCopies(), diagnoseListInit(), clang::EmbedExpr::EmbedExpr(), EmitAsmStores(), EmitBinaryAtomicPost(), emitDispatchForLoopBounds(), clang::CodeGen::ConstantEmitter::emitForMemory(), emitOMPAtomicRMW(), emitReplacement(), EmitX86_64VAArgFromMemory(), EmitX86BitTestIntrinsic(), enumerateData(), clang::Sema::FindAllocationFunctions(), getAlignOfGlobalVar(), getBestAbsFunction(), getBytesReturnedByAllocSizeCall(), GetCFNumberSize(), getCharWidth(), getDeclAlign(), getFieldSize(), getFixedPointSemantics(), getIntWidth(), clang::ConstantArrayType::getMaxSizeBits(), getNextLargerIntegralType(), clang::ConstantArrayType::getNumAddressingBits(), getPreferredTypeAlign(), getPromotedIntegerType(), getRangeForType(), getRVVTypeSize(), getScalableVectorType(), clang::Sema::GetSignedSizelessVectorType(), clang::Sema::GetSignedVectorType(), HandleArmSveVectorBitsTypeAttr(), HandleNeonVectorTypeAttr(), clang::SemaHLSL::handlePackOffsetAttr(), HandleRISCVRVVVectorBitsTypeAttr(), handleTransparentUnionAttr(), hasUniqueObjectRepresentations(), clang::Expr::IgnoreParenNoopCasts(), clang::Sema::Initialize(), clang::interp::interp__builtin_memcmp(), clang::interp::interp__builtin_overflowop(), is32Or64BitBasicType(), clang::CodeGen::ABIInfo::isHomogeneousAggregate(), isIntegerLikeType(), clang::Sema::IsIntegralPromotion(), clang::CodeGen::CodeGenModule::isPaddedAtomicType(), isPromotableBitField(), clang::CodeGen::isSIMDVectorType(), clang::CodeGen::isSingleElementStruct(), clang::SemaHLSL::IsTypedResourceElementCompatible(), isZeroSized(), MakeAtomicCmpXchgValue(), MakeBinaryAtomicValue(), clang::MangleContext::mangleName(), mergeEnumWithInteger(), OpenCLConvertScalarsToVectors(), clang::interp::pushInteger(), RecoverCastedSymbol(), rewriteToNumericBoxedExpression(), shouldExtendLifetime(), tryGCCVectorConvertAndSplat(), TryInitializerListConstruction(), TryListConversion(), and clang::Sema::VerifyBitField().
◆ getTypeSizeInChars() [1/2] CharUnits ASTContext::getTypeSizeInChars ( const Type * T ) const ◆ getTypeSizeInChars() [2/2]Return the size of the specified (complete) type T
, in characters.
getTypeSizeInChars - Return the size of the specified type, in characters.
This method does not work on incomplete types.
Definition at line 2541 of file ASTContext.cpp.
References getTypeInfoInChars(), clang::T, and clang::TypeInfoChars::Width.
Referenced by clang::Sema::ActOnFields(), clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData(), argTypeIsABIEquivalent(), AtomicUsesUnsupportedLibcall(), clang::Sema::BuildCXXNew(), buildMemcpyForAssignmentOp(), clang::Sema::BuildPredefinedExpr(), clang::ento::StoreManager::castRegion(), castValueToType(), clang::Sema::checkArrayElementAlignment(), CheckAtomicAlignment(), clang::Sema::CheckSubtractionOperands(), computeOffset(), clang::CodeGen::CodeGenTypes::convertTypeForLoadStore(), clang::CodeGen::CodeGenTypes::ConvertTypeForMem(), clang::Sema::DefaultArgumentPromotion(), clang::Sema::DiagnoseSizeOfParametersAndReturnValue(), clang::interp::DoBitCastPtr(), EmitArrayDelete(), emitArraySubscriptGEP(), EmitCXXNewAllocSize(), clang::CodeGen::CGOpenMPRuntime::emitDeclareSimdFunction(), EmitDeclInvariant(), EmitISOVolatileLoad(), EmitISOVolatileStore(), emitNonZeroVLAInit(), EmitOMPAggregateInit(), EmitOMPAggregateReduction(), emitPointerArithmetic(), emitStructGetterCall(), emitStructSetterCall(), encodeTypeForFunctionPointerAuth(), evenFlexibleArraySize(), clang::Sema::FillInlineAsmIdentifierInfo(), clang::CodeGen::CodeGenTBAA::getAccessInfo(), clang::CodeGen::CGOpenMPRuntime::getAddressOfLocalVariable(), clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::getAddressOfLocalVariable(), getAlignmentAndOffsetFromBinAddOrSub(), getDerivedSymbolForBinding(), getExceedsMsgs(), clang::VarDecl::getFlexibleArrayInitChars(), getIndex(), clang::CodeGen::CodeGenModule::getMinimumObjectSize(), clang::ConstantArrayType::getNumAddressingBits(), GetNumNonZeroBytesInInit(), getObjCEncodingForBlock(), getObjCEncodingForMethodDecl(), getObjCEncodingTypeSize(), clang::CodeGen::CGOpenCLRuntime::getPipeElemSize(), getSubobjectSizeInBits(), getTypeExpansion(), getTypeSizeInCharsIfKnown(), clang::interp::interp__builtin_memcmp(), clang::interp::interp__builtin_memcpy(), clang::interp::interp__builtin_operator_new(), clang::interp::InterpretOffsetOf(), isOnePastTheEndOfCompleteObject(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::CodeGen::CodeGenModule::Release(), setUsedBits(), clang::interp::Pointer::toAPValue(), tryToInvalidateFReadBufferByElements(), clang::CodeGen::CodeGenTypes::typeRequiresSplitIntoByteArray(), unionHasUniqueObjectRepresentations(), clang::Value::Value(), and clang::interp::Compiler< Emitter >::VisitUnaryExprOrTypeTraitExpr().
◆ getTypeSizeInCharsIfKnown() [1/2] std::optional< CharUnits > clang::ASTContext::getTypeSizeInCharsIfKnown ( const Type * Ty ) const inline ◆ getTypeSizeInCharsIfKnown() [2/2] std::optional< CharUnits > clang::ASTContext::getTypeSizeInCharsIfKnown ( QualType Ty ) const inline ◆ getTypeUnadjustedAlign() [1/2] unsigned ASTContext::getTypeUnadjustedAlign ( const Type * T ) const ◆ getTypeUnadjustedAlign() [2/2] ◆ getTypeUnadjustedAlignInChars() [1/2] CharUnits ASTContext::getTypeUnadjustedAlignInChars ( const Type * T ) const ◆ getTypeUnadjustedAlignInChars() [2/2] ◆ getucontext_tType() QualType clang::ASTContext::getucontext_tType ( ) const inline ◆ getUInt128Decl() ◆ getUIntMaxType() ◆ getUIntPtrType() QualType ASTContext::getUIntPtrType ( ) const ◆ getUnaryTransformType() ◆ getUnconstrainedType() ◆ getUnnamedGlobalConstantDecl() ◆ getUnqualifiedArrayType() [1/2] ◆ getUnqualifiedArrayType() [2/2]Return this type as a completely-unqualified array type, capturing the qualifiers in Quals
.
This will remove the minimal amount of sugaring from the types, similar to the behavior of QualType::getUnqualifiedType().
Definition at line 6692 of file ASTContext.cpp.
References clang::Qualifiers::addConsistentQualifiers(), clang::Qualifiers::empty(), getConstantArrayType(), getDependentSizedArrayType(), getIncompleteArrayType(), getUnqualifiedArrayType(), clang::Type::getUnqualifiedDesugaredType(), getVariableArrayType(), clang::SplitQualType::Quals, clang::SplitQualType::Ty, and clang::ast_matchers::type.
Referenced by clang::Sema::BuildCXXTypeId(), clang::Sema::BuiltinChangeCVRQualifiers(), clang::Sema::BuiltinRemoveReference(), CheckDeductionConsistency(), CompareQualificationConversions(), clang::Sema::CompareReferenceRelationship(), CompareStandardConversionSequences(), DeduceTemplateArgumentsByTypeMatch(), clang::TypeOfExprType::desugar(), clang::TypeOfType::desugar(), clang::Sema::FindCompositePointerType(), clang::CXXUuidofExpr::getTypeOperand(), clang::CXXTypeidExpr::getTypeOperand(), getUnqualifiedArrayType(), clang::Sema::handlerCanCatch(), hasCvrSimilarType(), hasSimilarType(), isSubstitutedType(), removeAddrSpaceQualType(), shouldBeModeledWithNoOp(), TryReferenceInitialization(), TryReferenceListInitialization(), and withoutUnaligned().
◆ getUnqualifiedObjCPointerType() QualType clang::ASTContext::getUnqualifiedObjCPointerType ( QualType type ) const inline ◆ getUnresolvedUsingType() ◆ getUnsignedPointerDiffType() QualType ASTContext::getUnsignedPointerDiffType ( ) const ◆ getUnsignedWCharType() QualType ASTContext::getUnsignedWCharType ( ) const ◆ getUsingType()Definition at line 5190 of file ASTContext.cpp.
References Allocate(), clang::Found, clang::Type::getCanonicalTypeInternal(), clang::QualType::getTypePtr(), clang::QualType::hasLocalQualifiers(), clang::QualType::isNull(), clang::UsingType::Profile(), and clang::T.
Referenced by clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::ClassifyName(), getCommonSugarTypeNode(), clang::Sema::getTypeName(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), and clang::TreeTransform< Derived >::RebuildUsingType().
◆ getVaListTagDecl() Decl * ASTContext::getVaListTagDecl ( ) const ◆ getVariableArrayDecayedType()Returns a vla type where known sizes are replaced with [*].
getVariableArrayDecayedType - Turns the given type, which may be variably-modified, into the corresponding type with all the known sizes replaced with [*].
Definition at line 4130 of file ASTContext.cpp.
References getAtomicType(), getConstantArrayType(), getDependentSizedArrayType(), getLValueReferenceType(), getPointeeType(), getPointerType(), getQualifiedType(), getRValueReferenceType(), clang::Type::getTypeClass(), getVariableArrayDecayedType(), getVariableArrayType(), clang::Normal, clang::SplitQualType::Quals, clang::Star, clang::SplitQualType::Ty, and clang::ast_matchers::type.
Referenced by getCanonicalParamType(), getExceptionObjectType(), getSignatureParameterType(), and getVariableArrayDecayedType().
◆ getVariableArrayType()Return a non-unique reference to the type for a variable array of the specified element type.
getVariableArrayType - Returns a non-unique reference to the type for a variable array of the specified element type.
Definition at line 4269 of file ASTContext.cpp.
References getCanonicalType(), getQualifiedType(), getVariableArrayType(), clang::QualType::hasLocalQualifiers(), clang::QualType::isCanonical(), clang::SplitQualType::Quals, clang::CanQual< T >::split(), and clang::SplitQualType::Ty.
Referenced by actOnOMPReductionKindClause(), clang::Sema::BuildArrayType(), clang::desugarForDiagnostic(), getAsArrayType(), getUnqualifiedArrayType(), getVariableArrayDecayedType(), and getVariableArrayType().
◆ getVectorType()Return the unique reference to a vector type of the specified element type and size.
getVectorType - Return the unique reference to a vector type of the specified element type and size.
VectorType
must be a built-in type.
VectorType must be a built-in type.
Definition at line 4528 of file ASTContext.cpp.
References clang::Type::castAs(), getCanonicalType(), clang::BitIntType::getNumBits(), getVectorType(), clang::Type::isBitIntType(), clang::Type::isBuiltinType(), clang::QualType::isCanonical(), and clang::VectorType::Profile().
Referenced by clang::Sema::AddModeAttr(), clang::Sema::BuildVectorType(), clang::Sema::BuiltinShuffleVector(), CheckArgTypeIsCorrect(), clang::SemaHLSL::CheckBuiltinFunctionCall(), clang::SemaSPIRV::CheckSPIRVBuiltinFunctionCall(), clang::Sema::CheckVectorConditionalTypes(), ConvertDeclSpecToType(), convertVector(), clang::DecodePPCMMATypeFromStr(), DecodeTypeFromStr(), getCommonNonSugarTypeNode(), getCorrespondingSignedType(), getCorrespondingUnsignedType(), clang::Sema::GetSignedVectorType(), getVectorType(), HandleArmSveVectorBitsTypeAttr(), HandleNeonVectorTypeAttr(), HandleRISCVRVVVectorBitsTypeAttr(), clang::CodeGen::ABIInfo::isHomogeneousAggregate(), clang::TreeTransform< Derived >::RebuildVectorType(), and SetElementTypeAsReturnType().
◆ getVolatileType() ◆ getVTableContext() ◆ getWCharType() QualType clang::ASTContext::getWCharType ( ) const inline ◆ getWebAssemblyExternrefType() QualType ASTContext::getWebAssemblyExternrefType ( ) const ◆ getWideCharType() QualType clang::ASTContext::getWideCharType ( ) const inlineReturn the type of wide characters.
In C++, this returns the unique wchar_t type. In C99, this returns a type compatible with the type defined in <stddef.h> as defined by the target.
Definition at line 1927 of file ASTContext.h.
References WideCharTy.
Referenced by clang::Sema::ActOnStringLiteral(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCNumericLiteral(), DecodeTypeFromStr(), clang::analyze_scanf::ScanfSpecifier::getArgType(), IsStringInit(), clang::Sema::IsStringLiteralToNonConstPointerConversion(), IsWideCharCompatible(), and clang::CodeGen::CodeGenModule::Release().
◆ getWIntType() QualType clang::ASTContext::getWIntType ( ) const inlineIn C99, this returns a type compatible with the type defined in <stddef.h> as defined by the target.
Definition at line 1941 of file ASTContext.h.
References WIntTy.
◆ getWritePipeType() ◆ getXRayFilter() ◆ hasAnyFunctionEffects() bool clang::ASTContext::hasAnyFunctionEffects ( ) const inline ◆ hasCvrSimilarType() ◆ hasDirectOwnershipQualifier() bool ASTContext::hasDirectOwnershipQualifier ( QualType Ty ) const ◆ hasSameExpr() bool ASTContext::hasSameExpr ( const Expr * X, const Expr * Y ) const ◆ hasSameFunctionTypeIgnoringExceptionSpec() ◆ hasSameFunctionTypeIgnoringParamABI() ◆ hasSameFunctionTypeIgnoringPtrSizes() ◆ hasSameNullabilityTypeQualifier() ◆ hasSameTemplateName() ◆ hasSameType() [1/2] bool clang::ASTContext::hasSameType ( const Type * T1, const Type * T2 ) const inline ◆ hasSameType() [2/2]Determine whether the given types T1
and T2
are equivalent.
Definition at line 2739 of file ASTContext.h.
References getCanonicalType().
Referenced by clang::Sema::ActOnAliasDeclaration(), clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnConditionalOp(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnGCCAsmStmt(), clang::SemaObjC::ActOnPropertyImplDecl(), AddResultTypeChunk(), adjustBlockReturnsToEnum(), areCompatibleRVVTypes(), areCompatibleSveTypes(), areCompatibleVectorTypes(), AreSpecialMemberFunctionsSameKind(), buildCounterInit(), buildCounterUpdate(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildDeclaratorGroup(), buildDeclareReductionRef(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), buildUserDefinedMapperRef(), clang::Sema::BuildVAArgExpr(), builtinCommonTypeImpl(), castToBase(), clang::SemaObjC::CheckARCMethodDecl(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionalOperands(), checkConditionalPointerCompatibility(), checkDeducedTemplateArguments(), CheckDeductionConsistency(), clang::Sema::CheckEnumConstant(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::SemaObjC::CheckImplementationIvars(), clang::Sema::CheckLiteralOperatorDeclaration(), checkLiteralOperatorTemplateParameterList(), clang::Sema::CheckMain(), clang::Sema::CheckMatrixElementwiseOperands(), clang::Sema::CheckMatrixMultiplyOperands(), clang::Sema::CheckMemberSpecialization(), checkOpenMPLoop(), clang::Sema::CheckOverridingFunctionReturnType(), clang::checkPipePacketType(), clang::Sema::CheckSizelessVectorConditionalTypes(), clang::Sema::CheckSizelessVectorOperands(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), clang::Sema::CheckTemplateArgument(), checkTypeParamListConsistency(), clang::Sema::CheckVectorConditionalTypes(), clang::Sema::CheckVectorOperands(), CompareDerivedToBaseConversions(), CompareStandardConversionSequences(), compareStandardConversionSubsets(), clang::Sema::computeDeclContext(), clang::ConvertQualTypeToKind(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DeduceAutoType(), DeduceTemplateArgumentsByTypeMatch(), DiagnoseBadDeduction(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::SemaObjC::DiagnosePropertyAccessorMismatch(), clang::Sema::diagnoseQualifiedDeclaration(), diagnoseVarDeclTypeMismatch(), filterNonConflictingPreviousTypedefDecls(), clang::Sema::FindAllocationFunctions(), clang::SemaObjC::FindCompositeObjCPointerType(), clang::Sema::FindCompositePointerType(), findDecomposableBaseClass(), clang::ClassTemplateDecl::findPartialSpecialization(), clang::StructuralEquivalenceContext::findUntaggedStructOrUnionIndex(), clang::Sema::FixOverloadedFunctionReference(), forEachMultiversionedFunctionVersion(), clang::Sema::FunctionParamTypesAreEqual(), getBestAbsFunction(), getCommonSugaredType(), getCommonSugarTypeNode(), getCommonTemplateArgument(), getFixedEnumPromtion(), clang::Sema::getMoreSpecializedTemplate(), getTypedefType(), clang::Sema::HandleFunctionTypeMismatch(), clang::SemaObjC::HandlePropertyInClassExtension(), handleVecTypeHint(), hasCompatibleArrayTypes(), hasCvrSimilarType(), hasSameFunctionTypeIgnoringExceptionSpec(), hasSameFunctionTypeIgnoringParamABI(), hasSameFunctionTypeIgnoringPtrSizes(), hasSimilarType(), hasUserDefinedMapper(), clang::Sema::IsBlockPointerConversion(), IsEquivalentForUsingDecl(), clang::Sema::isEquivalentInternalLinkageDeclaration(), clang::Sema::isIncompatibleTypedef(), IsOverloadOrOverrideImpl(), isRelevantAttr(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), isSameDefaultTemplateArgument(), isSameEntity(), clang::Sema::isSameOrCompatibleFunctionType(), isSameTemplateArg(), clang::SemaHLSL::IsScalarizedLayoutCompatible(), clang::ASTImporter::IsStructurallyEquivalent(), isSubstitutedType(), isValidInteropVariable(), loadToBegin(), MatchTemplateParameterKind(), mergeEnumWithInteger(), clang::Sema::MergeFunctionDecl(), clang::Sema::MergeVarDeclExceptionSpecs(), clang::Sema::MergeVarDeclTypes(), ObjCMethodsAreEqual(), clang::InitializationSequence::Perform(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitObjectArgumentInitialization(), clang::Sema::PrepareScalarCast(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), rewriteToNumberLiteral(), sameFunctionParameterTypeLists(), sameObjCTypeArgs(), clang::Sema::setTagNameForLinkagePurposes(), TryConstructorInitialization(), TryReferenceInitializationCore(), TryRefInitWithConversionFunction(), TryUserDefinedConversion(), typesAreCompatible(), and clang::Sema::UsualArithmeticConversions().
◆ hasSameUnqualifiedType()Determine whether the given types are equivalent after cvr-qualifiers have been removed.
Definition at line 2770 of file ASTContext.h.
References getCanonicalType(), and clang::CanQual< T >::getTypePtr().
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::SemaOpenMP::ActOnOpenMPUsesAllocatorClause(), clang::Sema::AddConversionCandidate(), AddObjCKeyValueCompletions(), clang::Sema::AddOverloadCandidate(), AddSuperSendCompletion(), allowAmbiguity(), AnalyzeComparison(), areCompatibleVectorTypes(), argTypeIsABIEquivalent(), clang::Sema::BuildBaseInitializer(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCDictionaryLiteral(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuiltinShuffleVector(), CheckArgTypeMatches(), checkArithmeticOrEnumeralThreeWayCompare(), CheckBoolSelect(), checkBuiltinVectorMathMixedEnums(), clang::Sema::CheckCompatibleReinterpretCast(), clang::Sema::CheckConstraintExpression(), clang::Sema::checkEnumArithmeticConversions(), clang::Sema::CheckEnumRedeclaration(), checkEnumTypesInSwitchStmt(), clang::Sema::CheckExtVectorCast(), clang::Sema::CheckMain(), CheckMethodOverrideParam(), CheckMethodOverrideReturn(), CheckMoveOnConstruction(), CheckOriginalCallArgDeduction(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckPointerToMemberOperands(), CheckScalarOrVector(), clang::Sema::CheckSubtractionOperands(), CheckTautologicalComparison(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), CheckTemplateArgumentPointerToMember(), CheckVectorSelect(), CheckWaveActive(), CompareDerivedToBaseConversions(), CompareImplicitConversionSequences(), clang::Sema::CompareReferenceRelationship(), CopyObject(), createObjCPropertyGetter(), clang::Sema::CreateOverloadedBinOp(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::deduceVarTypeFromInitializer(), diagnoseArithmeticOnTwoFunctionPointers(), clang::Sema::DiagnoseAssignmentEnum(), DiagnoseDivisionSizeofPointerOrArray(), doRewriteToUTF8StringBoxedExpressionHelper(), EmitAtomicCmpXchgForMSIntrin(), EmitBinaryAtomicPost(), clang::SemaObjC::EmitRelatedResultTypeNote(), clang::SemaObjC::EmitRelatedResultTypeNoteForReturn(), FindBaseInitializer(), FindImplementableMethods(), FunctionsCorrespond(), getCommonSugaredType(), clang::Sema::getCopyElisionCandidate(), clang::Sema::getDestructorName(), clang::Sema::getDestructorTypeForDecltype(), getExistingLazyBinding(), clang::Sema::getMoreSpecializedTemplate(), getParamType(), getPreferredArgumentTypeForMessageSend(), getRangeOfTypeInNestedNameSpecifier(), clang::CastExpr::getTargetFieldForToUnionCast(), clang::Sema::handlerCanCatch(), clang::SemaHLSL::handleVectorBinOpConversion(), hasCopyOrMoveCtorParam(), hasSimilarParameters(), clang::Expr::IgnoreParenNoopCasts(), clang::InitializationSequence::InitializeFrom(), clang::interp::interp__builtin_memcpy(), IsAcceptableNonMemberOperatorCandidate(), isAllowableExplicitConversion(), clang::CXXMethodDecl::isCopyAssignmentOperator(), isFirstArgumentCompatibleWithType(), clang::Sema::IsFunctionConversion(), clang::Sema::IsIntegralPromotion(), clang::Sema::IsMemberPointerConversion(), clang::Sema::isMicrosoftMissingTypename(), clang::CXXMethodDecl::isMoveAssignmentOperator(), isNonPlacementDeallocationFunction(), isNullPointerValueTemplateArgument(), clang::Sema::isObjCPointerConversion(), clang::Sema::IsPointerConversion(), clang::Sema::IsQualificationConversion(), IsStandardConversion(), IsUserDefinedConversion(), clang::CXXMethodDecl::isUsualDeallocationFunction(), IsVectorConversion(), IsVectorElementConversion(), clang::Sema::LookupLiteralOperator(), LookupMemberExpr(), MakeBinaryAtomicValue(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformObjectMemberConversion(), clang::Sema::PrepareScalarCast(), clang::SemaObjC::ProcessPropertyDecl(), clang::OverloadCandidateSet::OperatorRewriteInfo::shouldAddReversed(), ShouldDiagnoseSwitchCaseNotInEnum(), TryConstructorInitialization(), TryImplicitConversion(), TryListConversion(), TryListInitialization(), TryUserDefinedConversion(), and UnwrapSimilarTypes().
◆ hasSimilarType() ◆ hasUniqueObjectRepresentations() bool ASTContext::hasUniqueObjectRepresentations ( QualType Ty, bool CheckIfTriviallyCopyable =true
) const
Return true if the specified type has unique object representations according to (C++17 [meta.unary.prop]p9)
Definition at line 2882 of file ASTContext.cpp.
References clang::Type::castAs(), clang::Type::getAs(), getBaseElementType(), getTypeSize(), hasUniqueObjectRepresentations(), clang::Type::isArrayType(), clang::Type::isIncompleteType(), clang::Type::isIntegralOrEnumerationType(), clang::QualType::isNull(), clang::Type::isPointerType(), clang::Type::isRecordType(), clang::QualType::isTriviallyCopyableType(), clang::Type::isVoidType(), structHasUniqueObjectRepresentations(), and unionHasUniqueObjectRepresentations().
Referenced by getSubobjectSizeInBits(), hasUniqueObjectRepresentations(), isTriviallyEqualityComparableType(), and unionHasUniqueObjectRepresentations().
◆ InitBuiltinTypes() void ASTContext::InitBuiltinTypes ( const TargetInfo & Target, const TargetInfo * AuxTarget =nullptr
)
Initialize built-in types.
This routine may only be invoked once for a given ASTContext object. It is normally invoked after ASTContext construction.
Definition at line 1265 of file ASTContext.cpp.
References AccumTy, clang::DeclContext::addDecl(), ARCUnbridgedCastTy, ArraySectionTy, BFloat16Ty, BoolTy, BoundMemberTy, buildImplicitRecord(), BuiltinFnTy, Char16Ty, Char32Ty, Char8Ty, CharTy, DependentTy, DoubleTy, Float128Ty, Float16Ty, FloatTy, FractTy, getCanonicalType(), getPointerType(), getQualifiedType(), clang::CanQual< T >::getQualifiers(), getTranslationUnitDecl(), clang::TargetInfo::getTriple(), clang::CanQual< T >::getUnqualifiedType(), HalfTy, clang::TargetInfo::hasAArch64SVETypes(), Ibm128Ty, IncompleteMatrixIdxTy, Int128Ty, IntTy, isAddrSpaceMapManglingEnabled(), clang::CanQual< T >::isNull(), clang::TargetInfo::isTypeSigned(), LongAccumTy, LongDoubleTy, LongFractTy, LongLongTy, LongTy, MSGuidTagDecl, NullPtrTy, ObjCBuiltinBoolTy, ObjCBuiltinClassTy, ObjCBuiltinIdTy, ObjCBuiltinSelTy, OCLClkEventTy, OCLEventTy, OCLQueueTy, OCLReserveIDTy, OCLSamplerTy, OMPArrayShapingTy, OMPIteratorTy, clang::opencl_generic, OverloadTy, PseudoObjectTy, SatAccumTy, SatFractTy, SatLongAccumTy, SatLongFractTy, SatShortAccumTy, SatShortFractTy, SatUnsignedAccumTy, SatUnsignedFractTy, SatUnsignedLongAccumTy, SatUnsignedLongFractTy, SatUnsignedShortAccumTy, SatUnsignedShortFractTy, clang::Qualifiers::setAddressSpace(), ShortAccumTy, ShortFractTy, ShortTy, SignedCharTy, UnknownAnyTy, UnresolvedTemplateTy, UnsignedAccumTy, UnsignedCharTy, UnsignedFractTy, UnsignedInt128Ty, UnsignedIntTy, UnsignedLongAccumTy, UnsignedLongFractTy, UnsignedLongLongTy, UnsignedLongTy, UnsignedShortAccumTy, UnsignedShortFractTy, UnsignedShortTy, VaListTagDecl, VoidPtrTy, VoidTy, WCharTy, WideCharTy, and WIntTy.
◆ isAlignmentRequired() [1/2] bool ASTContext::isAlignmentRequired ( const Type * T ) const ◆ isAlignmentRequired() [2/2] ◆ isDependenceAllowed() bool clang::ASTContext::isDependenceAllowed ( ) const inline ◆ isInSameModule() ◆ isMSStaticDataMemberInlineDefinition() bool ASTContext::isMSStaticDataMemberInlineDefinition ( const VarDecl * VD ) constReturns true if this is an inline-initialized static data member which is treated as a definition for MSVC compatibility.
Definition at line 8386 of file ASTContext.cpp.
References clang::TargetInfo::getCXXABI(), clang::Redeclarable< decl_type >::getFirstDecl(), getTargetInfo(), clang::ValueDecl::getType(), clang::VarDecl::hasInit(), clang::Type::isIntegralOrEnumerationType(), clang::TargetCXXABI::isMicrosoft(), clang::VarDecl::isOutOfLine(), and clang::VarDecl::isStaticDataMember().
Referenced by basicGVALinkageForVariable(), DeclMustBeEmitted(), and clang::CodeGen::CodeGenModule::EmitGlobal().
◆ isNearlyEmpty() ◆ isObjCClassType() bool clang::ASTContext::isObjCClassType ( QualType T ) const inline ◆ isObjCIdType() ◆ isObjCNSObjectType() static bool clang::ASTContext::isObjCNSObjectType ( QualType Ty ) inlinestatic ◆ isObjCSelType() ◆ isPromotableBitField() QualType ASTContext::isPromotableBitField ( Expr * E ) constWhether this is a promotable bitfield reference according to C99 6.3.1.1p2, bullet 2 (and GCC extensions).
Definition at line 7864 of file ASTContext.cpp.
References clang::CPlusPlus, E, getLangOpts(), clang::Expr::getSourceBitField(), clang::Expr::getType(), getTypeSize(), IntTy, clang::Type::isEnumeralType(), clang::Type::isSignedIntegerType(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), and UnsignedIntTy.
Referenced by clang::Sema::CheckAdditionOperands(), clang::Sema::UsualArithmeticConversions(), and clang::Sema::UsualUnaryConversions().
◆ isPromotableIntegerType() bool ASTContext::isPromotableIntegerType ( QualType T ) constMore type predicates useful for type checking/promotion.
Definition at line 1882 of file ASTContext.cpp.
References clang::Type::getAs(), getLangOpts(), clang::HLSL, clang::Type::isDependentType(), and clang::T.
Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::ActOnTag(), clang::Sema::BuildVAArgExpr(), clang::Sema::CheckAdditionOperands(), checkArithmeticOrEnumeralThreeWayCompare(), GetFullTypeForDeclarator(), getPromotedIntegerType(), isArithmeticArgumentPromotion(), clang::Sema::IsIntegralPromotion(), isOverflowingIntegerType(), mergeFunctionTypes(), clang::Sema::UsualArithmeticConversions(), and clang::Sema::UsualUnaryConversions().
◆ isSameConstraintExpr() bool ASTContext::isSameConstraintExpr ( const Expr * XCE, const Expr * YCE ) const ◆ isSameDefaultTemplateArgument() ◆ isSameEntity()Determine whether the two declarations refer to the same entity.
Definition at line 7260 of file ASTContext.cpp.
References clang::Class, clang::declaresSameEntity(), clang::Type::getAs(), getAsArrayType(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::ArrayType::getElementType(), clang::FunctionProtoType::getExceptionSpecType(), clang::Decl::getKind(), getLangOpts(), clang::DeclContext::getRedeclContext(), hasSameFunctionTypeIgnoringExceptionSpec(), hasSameOverloadableAttrs(), hasSameType(), clang::Interface, clang::Type::isIncompleteArrayType(), isSameConstraintExpr(), isSameEntity(), isSameQualifier(), isSameTemplateParameterList(), clang::isUnresolvedExceptionSpec(), clang::Struct, and X.
Referenced by clang::Sema::CheckConceptRedefinition(), isSameEntity(), and isSameTypeConstraint().
◆ isSameTemplateParameter() ◆ isSameTemplateParameterList() ◆ isSameTypeConstraint() ◆ isSentinelNullExpr() bool ASTContext::isSentinelNullExpr ( const Expr * E ) ◆ isTypeIgnoredBySanitizer() ◆ local_imports() ◆ lookupFieldBitOffset() ◆ MakeIntValue() llvm::APSInt clang::ASTContext::MakeIntValue ( uint64_t Value, QualType Type ) const inline ◆ mayExternalize() bool ASTContext::mayExternalize ( const Decl * D ) const ◆ mergeDefinitionIntoModule() ◆ mergeExceptionSpecs()Definition at line 13523 of file ASTContext.cpp.
References clang::EST_BasicNoexcept, clang::EST_DependentNoexcept, clang::EST_Dynamic, clang::EST_DynamicNone, clang::EST_MSAny, clang::EST_NoexceptFalse, clang::EST_NoexceptTrue, clang::EST_None, clang::EST_NoThrow, clang::EST_Unevaluated, clang::EST_Uninstantiated, clang::EST_Unparsed, clang::FunctionProtoType::ExceptionSpecInfo::Exceptions, mergeTypeLists(), clang::Result, and clang::FunctionProtoType::ExceptionSpecInfo::Type.
Referenced by clang::Sema::FindCompositePointerType(), and getCommonNonSugarTypeNode().
◆ mergeExtParameterInfo() ◆ mergeFunctionParameterTypes() ◆ mergeFunctionTypes()Definition at line 11159 of file ASTContext.cpp.
References clang::Type::castAs(), clang::Enum, clang::FunctionProtoType::ExtProtoInfo::ExtInfo, clang::FunctionProtoType::ExtProtoInfo::ExtParameterInfos, FloatTy, clang::FunctionProtoType::ExtProtoInfo::FunctionEffects, clang::Type::getAs(), getCanonicalType(), clang::FunctionType::ExtInfo::getCC(), clang::FunctionType::getExtInfo(), clang::FunctionProtoType::getExtProtoInfo(), getFunctionNoProtoType(), getFunctionType(), clang::FunctionType::ExtInfo::getHasRegParm(), clang::FunctionEffectSet::getIntersection(), clang::FunctionType::ExtInfo::getNoCallerSavedRegs(), clang::FunctionType::ExtInfo::getNoCfCheck(), clang::FunctionType::ExtInfo::getNoReturn(), clang::FunctionProtoType::getNumParams(), clang::FunctionProtoType::getParamType(), clang::FunctionProtoType::getParamTypes(), clang::FunctionType::ExtInfo::getProducesResult(), clang::FunctionType::ExtInfo::getRegParm(), clang::FunctionType::getReturnType(), clang::FunctionEffectSet::getUnion(), clang::CanQual< T >::getUnqualifiedType(), clang::QualType::getUnqualifiedType(), clang::FunctionProtoType::hasExceptionSpec(), clang::QualType::hasQualifiers(), clang::QualType::isNull(), isPromotableIntegerType(), clang::FunctionProtoType::isVariadic(), mergeExtParameterInfo(), mergeFunctionParameterTypes(), mergeTypes(), clang::Unqualified, and clang::FunctionType::ExtInfo::withNoReturn().
Referenced by clang::SemaOpenMP::ActOnOpenMPCall(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), instantiateOMPDeclareVariantAttr(), and mergeTypes().
◆ mergeObjCGCQualifiers()mergeObjCGCQualifiers - This routine merges ObjC's GC attribute of 'LHS' and 'RHS' attributes and returns the merged version; including for function return types.
Definition at line 11834 of file ASTContext.cpp.
References clang::Type::castAs(), clang::FunctionProtoType::ExtProtoInfo::ExtInfo, clang::Qualifiers::getAddressSpace(), getCanonicalType(), clang::Qualifiers::getCVRQualifiers(), clang::getFunctionExtInfo(), getFunctionType(), clang::QualType::getLocalQualifiers(), clang::Qualifiers::getObjCGCAttr(), getPointeeType(), clang::QualType::getTypePtr(), clang::Type::isFunctionType(), clang::QualType::isNull(), clang::Type::isObjCObjectPointerType(), mergeObjCGCQualifiers(), clang::Qualifiers::Strong, and clang::Qualifiers::Weak.
Referenced by clang::Sema::MergeFunctionDecl(), mergeObjCGCQualifiers(), and clang::Sema::MergeVarDeclTypes().
◆ mergeTransparentUnionType() ◆ mergeTypes()Definition at line 11403 of file ASTContext.cpp.
References areCompatMatrixTypes(), areCompatVectorTypes(), canAssignObjCInterfaces(), canAssignObjCInterfacesInBlockPointer(), clang::Type::castAs(), E, clang::Qualifiers::getAddressSpace(), clang::Type::getAs(), getAsArrayType(), getAsConstantArrayType(), clang::Qualifiers::getAsOpaqueValue(), getAsVariableArrayType(), getAtomicType(), clang::HLSLAttributedResourceType::getAttrs(), getBlockPointerType(), getCanonicalType(), getConstantArrayType(), clang::HLSLAttributedResourceType::getContainedType(), clang::Qualifiers::getCVRQualifiers(), clang::ArrayType::getElementType(), getIncompleteArrayType(), clang::Expr::getIntegerConstantExpr(), getLangOpts(), clang::QualType::getLocalQualifiers(), clang::Qualifiers::getObjCGCAttr(), getObjCGCQualType(), clang::Qualifiers::getObjCLifetime(), clang::ReferenceType::getPointeeType(), getPointeeType(), getPointerType(), clang::QualType::getQualifiers(), clang::ConstantArrayType::getSize(), clang::ConstantArrayType::getSizeExpr(), clang::VariableArrayType::getSizeExpr(), clang::Type::getTypeClass(), clang::QualType::getTypePtr(), clang::QualType::getUnqualifiedType(), clang::HLSLAttributedResourceType::getWrappedType(), clang::ConstantArrayType::getZExtSize(), clang::Qualifiers::hasUnaligned(), clang::Qualifiers::isAddressSpaceSupersetOf(), clang::Type::isBlockPointerType(), clang::QualType::isNull(), clang::Type::isObjCIdType(), clang::Type::isObjCObjectPointerType(), isUnsigned(), mergeEnumWithInteger(), mergeFunctionTypes(), mergeTypes(), clang::OpenCL, clang::Qualifiers::removeAddressSpace(), clang::Qualifiers::Strong, clang::Unqualified, and clang::Qualifiers::Weak.
Referenced by checkConditionalPointerCompatibility(), clang::Sema::MergeCompatibleFunctionDecls(), clang::Sema::MergeFunctionDecl(), mergeFunctionParameterTypes(), mergeFunctionTypes(), mergeTransparentUnionType(), mergeTypes(), clang::Sema::MergeVarDeclTypes(), typesAreBlockPointerCompatible(), and typesAreCompatible().
◆ ObjCMethodsAreEqual() ◆ ObjCObjectAdoptsQTypeProtocols() ◆ ObjCQualifiedClassTypesAreCompatible() ◆ ObjCQualifiedIdTypesAreCompatible()ObjCQualifiedIdTypesAreCompatible - We know that one of lhs/rhs is an ObjCQualifiedIDType.
Definition at line 10532 of file ASTContext.cpp.
References CollectInheritedProtocols(), compare(), clang::ObjCObjectPointerType::getInterfaceDecl(), clang::ObjCObjectPointerType::getInterfaceType(), clang::ObjCObjectPointerType::isObjCClassType(), clang::ObjCObjectPointerType::isObjCIdType(), clang::ObjCObjectPointerType::isObjCQualifiedClassType(), clang::ObjCObjectPointerType::isObjCQualifiedIdType(), clang::ast_matchers::match(), ProtocolCompatibleWithProtocol(), clang::ObjCObjectPointerType::qual_empty(), and clang::ObjCObjectPointerType::quals().
Referenced by canAssignObjCInterfaces(), canAssignObjCInterfacesInBlockPointer(), clang::SemaObjC::FindCompositeObjCPointerType(), and isObjCTypeSubstitutable().
◆ operator=() ◆ overridden_methods() ◆ overridden_methods_begin() ◆ overridden_methods_end() ◆ overridden_methods_size() ◆ PrintStats() void ASTContext::PrintStats ( ) constDefinition at line 994 of file ASTContext.cpp.
References clang::CPlusPlus, getLangOpts(), clang::Type::getTypeClass(), NumImplicitCopyAssignmentOperators, NumImplicitCopyAssignmentOperatorsDeclared, NumImplicitCopyConstructors, NumImplicitCopyConstructorsDeclared, NumImplicitDefaultConstructors, NumImplicitDefaultConstructorsDeclared, NumImplicitDestructors, NumImplicitDestructorsDeclared, NumImplicitMoveAssignmentOperators, NumImplicitMoveAssignmentOperatorsDeclared, NumImplicitMoveConstructors, NumImplicitMoveConstructorsDeclared, clang::ExternalASTSource::PrintStats(), and clang::T.
Referenced by clang::ParseAST().
◆ propertyTypesAreCompatible() ◆ ProtocolCompatibleWithProtocol() ◆ QIdProtocolsAdoptObjCObjectProtocols() ◆ registerSYCLEntryPointFunction() void ASTContext::registerSYCLEntryPointFunction ( FunctionDecl * FD ) ◆ removeAddrSpaceQualType()Remove any existing address space on the type and returns the type with qualifiers intact (or that's the idea anyway)
The return type should be T with all prior qualifiers minus the address space.
Definition at line 3169 of file ASTContext.cpp.
References clang::Qualifiers::getFastQualifiers(), getUnqualifiedArrayType(), clang::Qualifiers::hasNonFastQualifiers(), clang::Type::isArrayType(), clang::Qualifiers::removeAddressSpace(), clang::QualifierCollector::strip(), and clang::T.
Referenced by DeduceTemplateArgumentsByTypeMatch(), handleMSPointerTypeQualifierAttr(), HandleWebAssemblyFuncrefAttr(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformObjectMemberConversion(), and removePtrSizeAddrSpace().
◆ removePtrSizeAddrSpace() ◆ ResetObjCLayout() ◆ setASTMutationListener() ◆ setBlockVarCopyInit() void ASTContext::setBlockVarCopyInit ( const VarDecl * VD, Expr * CopyExpr, bool CanThrow ) ◆ setBOOLDecl() void clang::ASTContext::setBOOLDecl ( TypedefDecl * TD ) inline ◆ setCFConstantStringType() void ASTContext::setCFConstantStringType ( QualType T ) ◆ setcudaConfigureCallDecl() void clang::ASTContext::setcudaConfigureCallDecl ( FunctionDecl * FD ) inline ◆ setCurrentNamedModule() void ASTContext::setCurrentNamedModule ( Module * M ) ◆ setExternalSource() ◆ setFILEDecl() void clang::ASTContext::setFILEDecl ( TypeDecl * FILEDecl ) inline ◆ setInstantiatedFromStaticDataMember() ◆ setInstantiatedFromUnnamedFieldDecl() void ASTContext::setInstantiatedFromUnnamedFieldDecl ( FieldDecl * Inst, FieldDecl * Tmpl ) ◆ setInstantiatedFromUsingDecl() ◆ setInstantiatedFromUsingEnumDecl() ◆ setInstantiatedFromUsingShadowDecl() ◆ setjmp_bufDecl() void clang::ASTContext::setjmp_bufDecl ( TypeDecl * jmp_bufDecl ) inline ◆ setManglingNumber() ◆ setNonKeyFunction() void ASTContext::setNonKeyFunction ( const CXXMethodDecl * method ) ◆ setObjCClassRedefinitionType() void clang::ASTContext::setObjCClassRedefinitionType ( QualType RedefType ) inline ◆ setObjCConstantStringInterface() ◆ setObjCIdRedefinitionType() void clang::ASTContext::setObjCIdRedefinitionType ( QualType RedefType ) inline ◆ setObjCImplementation() [1/2] ◆ setObjCImplementation() [2/2] ◆ setObjCMethodRedeclaration() ◆ setObjCNSStringType() void clang::ASTContext::setObjCNSStringType ( QualType T ) inline ◆ setObjCSelRedefinitionType() void clang::ASTContext::setObjCSelRedefinitionType ( QualType RedefType ) inline ◆ setObjCSuperType() void clang::ASTContext::setObjCSuperType ( QualType ST ) inline ◆ setParameterIndex()Used by ParmVarDecl to store on the side the index of the parameter when it exceeds the size of the normal bitfield.
Definition at line 13140 of file ASTContext.cpp.
References D.
◆ setPrimaryMergedDecl() void clang::ASTContext::setPrimaryMergedDecl ( Decl * D, Decl * Primary ) inline ◆ setPrintingPolicy() ◆ setsigjmp_bufDecl() void clang::ASTContext::setsigjmp_bufDecl ( TypeDecl * sigjmp_bufDecl ) inline ◆ setStaticLocalNumber() void ASTContext::setStaticLocalNumber ( const VarDecl * VD, unsigned Number ) ◆ setTemplateOrSpecializationInfo() ◆ setTraversalScope() void ASTContext::setTraversalScope ( const std::vector< Decl * > & TopLevelDecls ) ◆ setucontext_tDecl() void clang::ASTContext::setucontext_tDecl ( TypeDecl * ucontext_tDecl ) inline ◆ shouldExternalize() bool ASTContext::shouldExternalize ( const Decl * D ) const ◆ toBits() int64_t ASTContext::toBits ( CharUnits CharSize ) constConvert a size in characters to a size in bits.
toBits - Convert a size in characters to a size in characters.
Definition at line 2535 of file ASTContext.cpp.
References getCharWidth(), and clang::CharUnits::getQuantity().
Referenced by AtomicUsesUnsupportedLibcall(), BitsContainNoUserData(), clang::CodeGen::CodeGenTypes::ComputeRecordLayout(), DumpRecordLayout(), clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockLiteralArgVariable(), emitOMPAtomicRMW(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), enumerateData(), clang::CodeGen::swiftcall::SwiftAggLowering::finish(), getDeclAlign(), getPreferredTypeAlign(), getSubobjectOffset(), getSubobjectSizeInBits(), getTypeUnadjustedAlign(), and isVarDeclStrongDefinition().
◆ toCharUnitsFromBits() CharUnits ASTContext::toCharUnitsFromBits ( int64_t BitSize ) constConvert a size in bits to a size in characters.
toCharUnitsFromBits - Convert a size in bits to a size in characters.
Definition at line 2530 of file ASTContext.cpp.
References clang::CharUnits::fromQuantity(), and getCharWidth().
Referenced by clang::Sema::AddAlignedAttr(), clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData(), AlignOfType(), clang::interp::IntPointer::atOffset(), clang::SemaPPC::checkAIXMemberAlignment(), clang::Sema::CheckAlignasUnderalignment(), clang::Sema::CheckThreadLocalForLargeAlignment(), emitAddrOfZeroSizeField(), emitAlignedClause(), EmitAtomicCmpXchg128ForMSIntrin(), clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockDeclRefVariable(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), GetAlignedMapping(), getAlignOfGlobalVarInChars(), GetAlignOfType(), getDeclAlign(), getExnObjectAlignment(), clang::VarDecl::getFlexibleArrayInitChars(), clang::CodeGen::swiftcall::getMaximumVoluntaryIntegerSize(), clang::CodeGen::CodeGenModule::getMemberPointerConstant(), clang::CodeGen::CodeGenModule::getNaturalTypeAlignment(), GetNumNonZeroBytesInInit(), getPreferredTypeAlignInChars(), clang::CodeGen::CodeGenModule::GetTargetTypeStoreSize(), getTypeAlignInChars(), getTypeInfoInChars(), getTypeUnadjustedAlignInChars(), clang::interp::interp__builtin_atomic_lock_free(), clang::interp::InterpretOffsetOf(), clang::Sema::LookupInlineAsmField(), mergeAlignedAttrs(), clang::Sema::RefersToMemberWithReducedAlignment(), clang::interp::Pointer::toAPValue(), and clang::interp::Compiler< Emitter >::VisitUnaryExprOrTypeTraitExpr().
◆ typesAreBlockPointerCompatible() ◆ typesAreCompatible()Compatibility predicates used to check assignment expressions.
typesAreCompatible - C99 6.7.3p9: For two qualified types to be compatible, both shall have the identically qualified version of a compatible type.
C99 6.2.7p1: Two types have compatible types if their types are the same. See 6.7.[2,3,5] for additional rules.
Definition at line 11101 of file ASTContext.cpp.
References clang::CPlusPlus, getLangOpts(), hasSameType(), clang::QualType::isNull(), and mergeTypes().
Referenced by clang::SemaOpenMP::ActOnOpenMPUsesAllocatorClause(), clang::Sema::BuildVAArgExpr(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), clang::SemaObjC::CheckObjCMethodOverrides(), checkObjCPointerTypesForAssignment(), checkPointerTypesForAssignment(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CreateGenericSelectionExpr(), clang::Sema::ImplicitlyDefineFunction(), clang::Sema::IsPointerConversion(), IsStandardConversion(), IsStringInit(), clang::Sema::IsStringLiteralToNonConstPointerConversion(), IsWideCharCompatible(), clang::Sema::MergeFunctionDecl(), and propertyTypesAreCompatible().
◆ UnwrapSimilarArrayTypes() ◆ UnwrapSimilarTypes()Attempt to unwrap two types that may be similar (C++ [conv.qual]).
If T1 and T2 are both pointer types of the same kind, or both array types with the same bound, unwraps layers from T1 and T2 until a pointer type is unwrapped. Top-level qualifiers on T1 and T2 are ignored.
This function will typically be called in a loop that successively "unwraps" pointer and pointer-to-member types to compare them at each level.
true
if a pointer type was unwrapped, false
if we reached a pair of types that can't be unwrapped further.
Definition at line 6805 of file ASTContext.cpp.
References clang::Type::getAs(), clang::MemberPointerType::getClass(), getLangOpts(), clang::Type::getPointeeType(), clang::PointerType::getPointeeType(), clang::MemberPointerType::getPointeeType(), clang::ObjCObjectPointerType::getPointeeType(), hasSameUnqualifiedType(), and UnwrapSimilarArrayTypes().
Referenced by clang::Sema::CompareReferenceRelationship(), hasCvrSimilarType(), hasSimilarType(), clang::Sema::IsQualificationConversion(), shouldBeModeledWithNoOp(), and unwrapCastAwayConstnessLevel().
◆ useAbbreviatedThunkName() bool ASTContext::useAbbreviatedThunkName ( GlobalDecl VirtualMethodDecl, StringRef MangledName ) ◆ ASTDeclReader ◆ ASTReader ◆ ASTWriter ◆ CXXRecordDecl ◆ DeclarationNameTable ◆ DeclContext ◆ IncrementalParser ◆ NestedNameSpecifier ◆ serialization::AbstractTypeReader ◆ AccumTy ◆ ARCUnbridgedCastTy ◆ ArraySectionTy ◆ AutoDeductTy QualType clang::ASTContext::AutoDeductTy mutable ◆ AutoRRefDeductTy QualType clang::ASTContext::AutoRRefDeductTy mutable ◆ BFloat16Ty ◆ BoolTyDefinition at line 1161 of file ASTContext.h.
Referenced by clang::Sema::ActOnCXXBoolLiteral(), clang::Sema::ActOnNoexceptSpec(), clang::SemaObjC::ActOnObjCAvailabilityCheckExpr(), clang::SemaObjC::ActOnObjCBoolLiteral(), clang::Sema::AddBuiltinCandidate(), clang::TemplateDeclInstantiator::adjustForRewrite(), areCompatibleRVVTypes(), clang::ento::SimpleConstraintManager::assumeInternal(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildCXXNoexceptExpr(), clang::Sema::BuildExpressionTrait(), clang::Sema::BuildResolvedCallExpr(), buildSingleCopyAssignRecursively(), BuiltinAlignment(), builtinCommonTypeImpl(), BuiltinIsWithinLifetime(), calculateConstraintSatisfaction(), clang::Sema::CheckAssignmentConstraints(), CheckBoolLikeConversion(), clang::Sema::CheckConstraintExpression(), clang::Sema::checkExceptionSpecification(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckPointerConversion(), CheckWaveActive(), constructStructuredBufferConstraintExpr(), constructTypedBufferConstraintExpr(), ConvertDeclSpecToType(), clang::Sema::CreateBuiltinUnaryOp(), DecodeTypeFromStr(), DeduceTemplateArgumentsByTypeMatch(), clang::CodeGen::CGOpenMPRuntime::emitForNext(), emitStructGetterCall(), emitStructSetterCall(), clang::PreferredTypeBuilder::enterCondition(), clang::ento::SValBuilder::getConditionType(), getLogicalOperationType(), getPreferredTypeOfBinaryRHS(), getPreferredTypeOfUnaryArg(), getRVVTypeSize(), clang::Sema::GetSignedVectorType(), clang::ASTReader::GetType(), HandleRISCVRVVVectorBitsTypeAttr(), InitBuiltinTypes(), IsStandardConversion(), mapCodeCompletionContext(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PreferredConditionType(), RVVType2Qual(), TryContextuallyConvertToBool(), clang::Sema::tryResolveExplicitSpecifier(), clang::interp::Compiler< Emitter >::VisitVectorBinOp(), and clang::interp::Compiler< Emitter >::VisitVectorUnaryOperator().
◆ BoundMemberTyDefinition at line 1188 of file ASTContext.h.
Referenced by clang::SemaOpenMP::ActOnOpenMPCall(), clang::Sema::BuildCallExpr(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCXXMemberCallExpr(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::CheckPointerToMemberOperands(), clang::Sema::FixOverloadedFunctionReference(), clang::ASTReader::GetType(), clang::Sema::getVariadicCallType(), InitBuiltinTypes(), clang::Sema::MaybeBindToTemporary(), and clang::Sema::tryExprAsCall().
◆ BuiltinFnTy ◆ BuiltinInfoDefinition at line 682 of file ASTContext.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnStartOfFunctionDef(), clang::Sema::AddKnownFunctionAttributes(), clang::Sema::BuildBuiltinCallExpr(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildResolvedCallExpr(), canBuiltinBeRedeclared(), clang::checkArmStreamingBuiltin(), clang::Sema::CheckPlaceholderExpr(), clang::interp::cleanupAfterFunctionCall(), clang::Sema::ConvertArgumentsForCall(), clang::Sema::CreateBuiltin(), clang::interp::diagnoseNonConstexprBuiltin(), EmitDirectCallee(), emitLibraryCall(), emitReplacement(), clang::Sema::FixOverloadedFunctionReference(), clang::FunctionDecl::getBuiltinID(), clang::CodeGen::CodeGenModule::getBuiltinLibFunction(), GetBuiltinType(), clang::interp::interp__builtin_memcmp(), clang::ento::CheckerContext::isCLibraryFunction(), clang::CallExpr::isUnevaluatedBuiltinCall(), clang::Sema::LazilyCreateBuiltin(), clang::Sema::LookupBuiltin(), clang::Sema::MergeFunctionDecl(), rewriteBuiltinFunctionDecl(), clang::SemaARM::SmeAliasValid(), and clang::SemaARM::SveAliasValid().
◆ Char16Ty ◆ Char32Ty ◆ Char8Ty ◆ CharTyDefinition at line 1162 of file ASTContext.h.
Referenced by clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnLastBitfield(), clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnSourceLocExpr(), clang::Sema::ActOnStringLiteral(), clang::Sema::BuildAtomicExpr(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCEncodeExpression(), clang::SemaObjC::BuildObjCNumericLiteral(), clang::Sema::BuildPredefinedExpr(), clang::ento::StoreManager::castRegion(), clang::Sema::CheckLiteralOperatorDeclaration(), checkLiteralOperatorTemplateParameterList(), clang::Sema::CheckMain(), clang::Sema::CheckPtrComparisonWithNullChar(), CheckTautologicalComparison(), ConvertDeclSpecToType(), clang::SYCLUniqueStableNameExpr::Create(), CreateCharPtrNamedVaListDecl(), clang::SYCLUniqueStableNameExpr::CreateEmpty(), DecodeTypeFromStr(), diagnoseStringPlusChar(), doRewriteToUTF8StringBoxedExpressionHelper(), clang::APValue::dump(), clang::Sema::EvaluateStaticAssertMessageAsString(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), getCFConstantStringDecl(), GetCFNumberSize(), getCharWidth(), getIndex(), getPredefinedStringLiteralFromCache(), clang::Sema::GetSignedVectorType(), clang::ASTReader::GetType(), InitBuiltinTypes(), LookupStdSourceLocationImpl(), clang::CodeGen::SanitizerMetadata::reportGlobal(), and clang::ento::ExprEngine::VisitArraySubscriptExpr().
◆ CommentlessRedeclChains llvm::DenseMap<const Decl *, const Decl *> clang::ASTContext::CommentlessRedeclChains mutableKeeps track of redeclaration chains that don't have any comment attached.
Mapping from canonical declaration to redeclaration chain that has no comments attached to any redeclaration. Specifically it's mapping to the last redeclaration we've checked.
Shall not contain declarations that have comments attached to any redeclaration in their chain.
Definition at line 892 of file ASTContext.h.
Referenced by cacheRawCommentForDecl(), and getRawCommentForAnyRedecl().
◆ Comments ◆ CommentsLoaded bool clang::ASTContext::CommentsLoaded = false mutable ◆ CompCategories ◆ CUDAConstantEvalCtx ◆ CUDADeviceVarODRUsedByHost llvm::DenseSet<const VarDecl *> clang::ASTContext::CUDADeviceVarODRUsedByHostKeep track of CUDA/HIP device-side variables ODR-used by host code.
This does not include extern shared variables used by device host functions as addresses of shared variables are per warp, therefore cannot be accessed by host code.
Definition at line 1237 of file ASTContext.h.
Referenced by MarkVarDeclODRUsed(), and shouldExternalize().
◆ CUDAExternalDeviceDeclODRUsedByHost llvm::SetVector<const ValueDecl *> clang::ASTContext::CUDAExternalDeviceDeclODRUsedByHost ◆ CUDAImplicitHostDeviceFunUsedByDevice llvm::DenseSet<const FunctionDecl *> clang::ASTContext::CUDAImplicitHostDeviceFunUsedByDevice ◆ DeclarationNamesDefinition at line 684 of file ASTContext.h.
Referenced by clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXFoldExpr(), clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnStringLiteral(), addBlockPointerConversion(), addFunctionPointerConversion(), clang::Sema::AddMemberOperatorCandidates(), clang::Sema::AddOverriddenMethods(), clang::TemplateDeclInstantiator::adjustForRewrite(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildCallToObjectOfClassType(), BuildCookedLiteralOperatorCall(), buildImplicitMapper(), clang::Sema::BuildOperatorCoawaitLookupExpr(), clang::Sema::BuildOverloadedArrowExpr(), buildSingleCopyAssignRecursively(), clang::Sema::BuildUsingDeclaration(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CreateLambdaCallOperator(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::DeclareGlobalNewDelete(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::DeclareImplicitDestructor(), clang::Sema::DeclareImplicitMoveAssignment(), clang::Sema::DeclareImplicitMoveConstructor(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), DiagnoseTwoPhaseOperatorLookup(), doesUsualArrayDeleteWantSize(), clang::Sema::FindAllocationFunctions(), clang::Sema::FindDeallocationFunctionForDestructor(), findDeleteForPromise(), findImplicitlyDeclaredEqualityComparisons(), getConstructors(), clang::CXXRecordDecl::getDestructor(), getLambdaCallOperatorHelper(), getNameForTemplate(), clang::Sema::GetNameFromUnqualifiedId(), hasMember(), clang::ASTImporter::Import(), isImplicitMapperNeeded(), clang::Sema::isTemplateName(), clang::Sema::LookupConstructors(), clang::Sema::LookupOverloadedBinOp(), clang::Sema::LookupOverloadedOperatorName(), clang::Sema::LookupSpecialMember(), clang::Parser::parseMapperModifier(), parseOpenMPReductionId(), processImplicitMapsWithDefaultMappers(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), resolveAllocationOverload(), resolveBuiltinNewDeleteOverload(), shouldAddReversedEqEq(), clang::Sema::ShouldDeleteSpecialMember(), threadSafetyCheckIsSmartPointer(), clang::TreeTransform< Derived >::TransformDeclarationNameInfo(), and clang::TemplateDeclInstantiator::VisitCXXMethodDecl().
◆ DeclRawComments llvm::DenseMap<const Decl *, const RawComment *> clang::ASTContext::DeclRawComments mutable ◆ DependentTyDefinition at line 1188 of file ASTContext.h.
Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnChooseExpr(), clang::Sema::ActOnDecompositionDeclarator(), clang::Sema::ActOnEnumBody(), clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::SemaOpenMP::ActOnOMPArrayShapingExpr(), actOnOMPReductionKindClause(), clang::Sema::ActOnPseudoDestructorExpr(), AddResultTypeChunk(), clang::Sema::BuildBinOp(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallExpr(), clang::Sema::buildCoroutinePromise(), clang::Sema::BuildCoyieldExpr(), clang::Sema::BuildCXXFoldExpr(), clang::Sema::BuildCXXForRangeStmt(), clang::SemaObjC::BuildInstanceMessage(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCEncodeExpression(), clang::Sema::BuildOverloadedCallExpr(), clang::Sema::buildOverloadedCallSet(), clang::Sema::BuildPredefinedExpr(), clang::Sema::BuildResolvedCoawaitExpr(), clang::Sema::BuildUnresolvedCoawaitExpr(), clang::Sema::CheckAddressOfOperand(), clang::SemaPseudoObject::checkAssignment(), CheckBindingsCount(), clang::Sema::CheckCompleteDecompositionDeclaration(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckEnumConstant(), clang::SemaPseudoObject::checkIncDec(), clang::Sema::CheckPackExpansion(), CheckRealImagOperand(), ConvertDeclSpecToType(), clang::DependentScopeDeclRefExpr::Create(), clang::Sema::CreateBuiltinMatrixSubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::CreateRecoveryExpr(), clang::Sema::CXXCheckConditionalOperands(), clang::CallExpr::getCallReturnType(), GetDeclSpecTypeForDeclarator(), clang::Sema::getDecltypeForExpr(), getDecltypeType(), getDependentArraySubscriptType(), getDummyLambdaType(), GetFullTypeForDeclarator(), getInjectedTemplateArg(), clang::ASTReader::GetType(), InitBuiltinTypes(), LookupMemberExpr(), clang::Sema::MergeVarDeclTypes(), clang::OverloadExpr::OverloadExpr(), clang::Sema::SubstAutoType(), and clang::Sema::SubstAutoTypeSourceInfo().
◆ DoubleTyDefinition at line 1172 of file ASTContext.h.
Referenced by clang::Sema::ActOnNumericConstant(), clang::Sema::BuildVAArgExpr(), clang::SemaHLSL::CheckBuiltinFunctionCall(), clang::Sema::checkTypeSupport(), ConvertDeclSpecToType(), DecodeTypeFromStr(), clang::Sema::DefaultArgumentPromotion(), clang::analyze_scanf::ScanfSpecifier::getArgType(), GetCFNumberSize(), GetFullTypeForDeclarator(), GetHigherPrecisionFPType(), clang::getNeonEltType(), getRealTypeForBitwidth(), clang::ASTReader::GetType(), InitBuiltinTypes(), clang::Sema::Initialize(), RVVType2Qual(), and clang::Sema::UsualUnaryFPConversions().
◆ ExternalSource ◆ Float128Ty ◆ Float16Ty ◆ FloatTyDefinition at line 1172 of file ASTContext.h.
Referenced by clang::Sema::ActOnNumericConstant(), CheckAllArgsHaveFloatRepresentation(), clang::SemaHLSL::CheckBuiltinFunctionCall(), CheckFloatOrHalfRepresentations(), CheckNoDoubleVectors(), clang::Sema::checkTypeSupport(), ConvertDeclSpecToType(), convertHalfVecBinOp(), clang::Sema::CreateBuiltinUnaryOp(), DecodeTypeFromStr(), clang::Sema::DefaultArgumentPromotion(), clang::analyze_scanf::ScanfSpecifier::getArgType(), GetCFNumberSize(), GetHigherPrecisionFPType(), clang::getNeonEltType(), getRealTypeForBitwidth(), clang::ASTReader::GetType(), handleFloatConversion(), InitBuiltinTypes(), clang::Sema::Initialize(), mergeFunctionTypes(), clang::Sema::PerformImplicitConversion(), RVVType2Qual(), and clang::Sema::UsualUnaryFPConversions().
◆ FractTy ◆ HalfTyDefinition at line 1184 of file ASTContext.h.
Referenced by clang::Sema::ActOnNumericConstant(), ConvertDeclSpecToType(), convertHalfVecBinOp(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), DecodeTypeFromStr(), clang::getNeonEltType(), getRealTypeForBitwidth(), clang::ASTReader::GetType(), InitBuiltinTypes(), clang::Sema::Initialize(), and needsConversionOfHalfVec().
◆ Ibm128Ty ◆ IdentsDefinition at line 680 of file ASTContext.h.
Referenced by clang::Sema::ActOnCapturedRegionStart(), clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnCompoundRequirement(), clang::SemaObjC::ActOnInstanceMessage(), clang::Sema::ActOnNumericConstant(), clang::SemaObjC::ActOnObjCBoolLiteral(), clang::SemaOpenMP::ActOnOpenMPUsesAllocatorClause(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), clang::Sema::ActOnStringLiteral(), addFunctionPointerConversion(), clang::Sema::addImplicitTypedef(), clang::Sema::AddKnownFunctionAttributes(), AddObjCKeyValueCompletions(), clang::Sema::BuildBuiltinCallExpr(), buildCapture(), buildImplicitMapper(), buildImplicitRecord(), buildImplicitTypedef(), clang::SemaObjC::BuildIvarRefExpr(), buildMemcpyForAssignmentOp(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCDictionaryLiteral(), clang::SemaObjC::BuildObjCStringLiteral(), buildSingleCopyAssignRecursively(), clang::CodeGen::CGCXXABI::buildThisParam(), CheckKeyForObjCARCConversion(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), CheckProtocolMethodDefs(), configureBlocksRuntimeObject(), constructBufferConceptDecl(), CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), clang::Sema::CreateBuiltinBinOp(), CreateHexagonBuiltinVaListDecl(), clang::ObjCMethodDecl::createImplicitParams(), CreatePowerABIBuiltinVaListDecl(), clang::SemaObjC::CreatePropertyDecl(), CreateSystemZBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), CreateXtensaABIBuiltinVaListDecl(), CXXRecordMembersNamed(), clang::Sema::DefaultLvalueConversion(), DiagnoseDirectIsaAccess(), emitOutlinedFunctionPrologue(), emitReplacement(), clang::ExternalSource::FindExternalVisibleDeclsByName(), findOMPAllocatorHandleT(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), getBlockDescriptorExtendedType(), getBlockDescriptorType(), getBoolName(), getBuiltinCommonTypeName(), getCFConstantStringDecl(), clang::ObjCPropertyDecl::getDefaultSynthIvarName(), getGlobalStreamPointerByName(), getHostLayoutStructName(), clang::getKeywordSelector(), getLambdaStaticInvokers(), getMakeIntegerSeqName(), clang::NSAPI::getNSArraySelector(), clang::NSAPI::getNSClassId(), getNSCopyingName(), clang::NSAPI::getNSDictionarySelector(), getNSNumberFactoryMethod(), clang::NSAPI::getNSNumberLiteralSelector(), getNSObjectName(), clang::NSAPI::getNSSetSelector(), clang::NSAPI::getNSStringSelector(), clang::GetNullarySelector(), getObjCProtocolDecl(), getOpenCLEnumType(), getOpenCLTypedefType(), clang::Sema::getSuperIdentifier(), getTypePackElementName(), clang::GetUnarySelector(), handleAvailabilityAttr(), handleFormatAttr(), hasMember(), hasTypedefNamed(), clang::ASTImporter::Import(), clang::Sema::Initialize(), clang::HLSLExternalSemaSource::InitializeSema(), clang::Sema::InventAbbreviatedTemplateParameterTypeName(), clang::SemaObjC::isCFStringType(), isImplicitMapperNeeded(), clang::SemaObjC::isKnownName(), isMacroDefined(), clang::NSAPI::isMacroDefined(), isNSStringType(), clang::SemaObjC::isNSStringType(), isValidInteropVariable(), lookupBuiltinFunction(), lookupCXXRecordDecl(), clang::Sema::LookupInlineAsmField(), clang::Sema::LookupInlineAsmVarDeclField(), clang::LookupNamed(), clang::LookupNamespace(), LookupPredefedObjCSuperType(), lookupStdNamespace(), markUsedForAliasOrIfunc(), mergeDeclAttribute(), ProcessAPINotes(), processImplicitMapsWithDefaultMappers(), clang::TreeTransform< Derived >::RebuildShuffleVectorExpr(), shouldRunOnFunctionOrMethod(), and transferARCOwnershipToDeclaratorChunk().
◆ IncompleteMatrixIdxTy ◆ Int128Ty ◆ IntTyDefinition at line 1169 of file ASTContext.h.
Referenced by clang::Sema::ActOnAliasDeclaration(), clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnExceptionDeclarator(), clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnIntegerConstant(), clang::Sema::ActOnLastBitfield(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnNumericConstant(), clang::SemaOpenMP::ActOnOMPIteratorExpr(), clang::Sema::ActOnStartRequiresExpr(), clang::Sema::ActOnTag(), clang::Sema::AddModeAttr(), clang::CodeGen::CodeGenTypes::arrangeMSCtorClosure(), clang::ento::ProgramState::assumeInBoundDual(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildBinOp(), ChangeIntegralSignedness(), clang::SemaHLSL::CheckBuiltinFunctionCall(), clang::Sema::CheckEnumConstant(), clang::Sema::CheckFieldDecl(), CheckFloatingOrIntRepresentation(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckMain(), clang::Sema::CheckPlaceholderExpr(), checkPointerAuthKey(), computeBestEnumTypes(), ConvertDeclSpecToType(), CreateAArch64ABIBuiltinVaListDecl(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), CreatePNaClABIBuiltinVaListDecl(), CreateXtensaABIBuiltinVaListDecl(), clang::DecodePPCMMATypeFromStr(), DecodeTypeFromStr(), DeduceTemplateArgumentsByTypeMatch(), emitLibraryCall(), encodeTypeForFunctionPointerAuth(), clang::PreferredTypeBuilder::enterSubscript(), clang::analyze_format_string::OptionalAmount::getArgType(), clang::analyze_scanf::ScanfSpecifier::getArgType(), clang::CodeGen::CodeGenModule::getBlockObjectAssign(), clang::CodeGen::CodeGenModule::getBlockObjectDispose(), getCFConstantStringDecl(), GetCFNumberSize(), clang::ento::SValBuilder::getConditionType(), getCorrespondingSignedType(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), getGuardAcquireFn(), getLegacyIntegralTypeEncoding(), getLogicalOperationType(), clang::getNeonEltType(), getNextLargerIntegralType(), getObjCEncodingTypeSize(), getPreferredTypeOfBinaryRHS(), getPreferredTypeOfUnaryArg(), getPromotedIntegerType(), clang::Sema::GetSignedVectorType(), clang::ASTReader::GetType(), clang::Sema::getTypeName(), clang::Sema::HandleField(), handleMIGServerRoutineAttr(), clang::Sema::HandleMSProperty(), clang::Sema::ImplicitlyDefineFunction(), InitBuiltinTypes(), clang::Sema::Initialize(), clang::InitializationSequence::InitializeFrom(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Sema::IsIntegralPromotion(), isOverflowingIntegerType(), isPromotableBitField(), makeLaunchBoundsArgExpr(), mayBeSuccess(), clang::Sema::PreferredConditionType(), clang::Sema::prepareVectorSplat(), clang::TreeTransform< Derived >::RebuildBitIntType(), clang::TreeTransform< Derived >::RebuildExtVectorType(), rewriteToNumericBoxedExpression(), and shouldNotPrintDirectly().
◆ LambdaCastPaths ◆ Listener ◆ LongAccumTy ◆ LongDoubleTyDefinition at line 1172 of file ASTContext.h.
Referenced by clang::Sema::ActOnNumericConstant(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::checkTypeSupport(), ConvertDeclSpecToType(), DecodeTypeFromStr(), clang::analyze_scanf::ScanfSpecifier::getArgType(), GetHigherPrecisionFPType(), getRealTypeForBitwidth(), clang::ASTReader::GetType(), InitBuiltinTypes(), and clang::Sema::UsualUnaryFPConversions().
◆ LongFractTy ◆ LongLongTyDefinition at line 1169 of file ASTContext.h.
Referenced by clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnNumericConstant(), ChangeIntegralSignedness(), clang::CodeGen::DefaultABIInfo::classifyArgumentType(), computeBestEnumTypes(), ConvertDeclSpecToType(), DecodeTypeFromStr(), clang::Sema::DefaultArgumentPromotion(), clang::analyze_scanf::ScanfSpecifier::getArgType(), GetCFNumberSize(), getCorrespondingSignedType(), clang::getNeonEltType(), getNextLargerIntegralType(), getNSIntegerType(), getPromotedIntegerType(), clang::Sema::GetSignedVectorType(), clang::ASTReader::GetType(), InitBuiltinTypes(), and clang::Sema::IsIntegralPromotion().
◆ LongTyDefinition at line 1169 of file ASTContext.h.
Referenced by clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnNumericConstant(), ChangeIntegralSignedness(), computeBestEnumTypes(), ConvertDeclSpecToType(), CreateSystemZBuiltinVaListDecl(), DecodeTypeFromStr(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getCFConstantStringDecl(), GetCFNumberSize(), getCorrespondingSignedType(), clang::getNeonEltType(), getNextLargerIntegralType(), getNSIntegerType(), getPromotedIntegerType(), clang::Sema::GetSignedVectorType(), clang::ASTReader::GetType(), InitBuiltinTypes(), clang::Sema::Initialize(), clang::Sema::IsIntegralPromotion(), and RVVType2Qual().
◆ MSGuidTagDecl TagDecl* clang::ASTContext::MSGuidTagDecl = nullptr mutable ◆ NullPtrTy ◆ NumImplicitCopyAssignmentOperators unsigned clang::ASTContext::NumImplicitCopyAssignmentOperators = 0 ◆ NumImplicitCopyAssignmentOperatorsDeclared unsigned clang::ASTContext::NumImplicitCopyAssignmentOperatorsDeclared = 0 ◆ NumImplicitCopyConstructors unsigned clang::ASTContext::NumImplicitCopyConstructors = 0 ◆ NumImplicitCopyConstructorsDeclared unsigned clang::ASTContext::NumImplicitCopyConstructorsDeclared = 0 ◆ NumImplicitDefaultConstructors unsigned clang::ASTContext::NumImplicitDefaultConstructors = 0 ◆ NumImplicitDefaultConstructorsDeclared unsigned clang::ASTContext::NumImplicitDefaultConstructorsDeclared = 0 ◆ NumImplicitDestructors unsigned clang::ASTContext::NumImplicitDestructors = 0 ◆ NumImplicitDestructorsDeclared unsigned clang::ASTContext::NumImplicitDestructorsDeclared = 0 ◆ NumImplicitMoveAssignmentOperators unsigned clang::ASTContext::NumImplicitMoveAssignmentOperators = 0 ◆ NumImplicitMoveAssignmentOperatorsDeclared unsigned clang::ASTContext::NumImplicitMoveAssignmentOperatorsDeclared = 0 ◆ NumImplicitMoveConstructors unsigned clang::ASTContext::NumImplicitMoveConstructors = 0 ◆ NumImplicitMoveConstructorsDeclared unsigned clang::ASTContext::NumImplicitMoveConstructorsDeclared = 0 ◆ ObjCBuiltinBoolTy ◆ ObjCBuiltinClassTy ◆ ObjCBuiltinIdTy ◆ ObjCBuiltinSelTy ◆ OCLClkEventTy ◆ OCLEventTy ◆ OCLQueueTy ◆ OCLReserveIDTy ◆ OCLSamplerTy ◆ OMPArrayShapingTy ◆ OMPIteratorTy ◆ OverloadTyDefinition at line 1188 of file ASTContext.h.
Referenced by AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::BuildCallExpr(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildReferenceType(), clang::Sema::BuildTemplateIdExpr(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckTemplateArgument(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefaultLvalueConversion(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseBadConversion(), clang::Sema::FindAssociatedClassesAndNamespaces(), clang::ASTReader::GetType(), handleCleanupAttr(), InitBuiltinTypes(), clang::InitializationSequence::InitializeFrom(), IsStandardConversion(), clang::Sema::NoteAllOverloadCandidates(), clang::Sema::PerformImplicitConversion(), clang::Sema::ResolveAddressOfOverloadedFunction(), clang::Sema::resolveAndFixAddressOfSingleOverloadCandidate(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), ResolveOverloadedFunctionForReferenceBinding(), clang::Sema::tryExprAsCall(), TryListConversion(), TryReferenceInit(), and TryReferenceInitializationCore().
◆ ParsedComments ◆ PseudoObjectTy ◆ RedeclChainComments llvm::DenseMap<const Decl *, const Decl *> clang::ASTContext::RedeclChainComments mutable ◆ SatAccumTy ◆ SatFractTy ◆ SatLongAccumTy ◆ SatLongFractTy ◆ SatShortAccumTy ◆ SatShortFractTy ◆ SatUnsignedAccumTy ◆ SatUnsignedFractTy ◆ SatUnsignedLongAccumTy ◆ SatUnsignedLongFractTy ◆ SatUnsignedShortAccumTy ◆ SatUnsignedShortFractTy ◆ SectionInfos llvm::StringMap<SectionInfo> clang::ASTContext::SectionInfos ◆ SelectorsDefinition at line 681 of file ASTContext.h.
Referenced by clang::SemaObjC::ActOnInstanceMessage(), AddObjCKeyValueCompletions(), clang::SemaObjC::BuildObjCBoxedExpr(), CheckKeyForObjCARCConversion(), clang::SemaObjC::checkObjCBridgeRelatedComponents(), CheckProtocolMethodDefs(), clang::getKeywordSelector(), clang::NSAPI::getNSArraySelector(), clang::NSAPI::getNSDictionarySelector(), clang::NSAPI::getNSNumberLiteralSelector(), clang::NSAPI::getNSSetSelector(), clang::NSAPI::getNSStringSelector(), clang::GetNullarySelector(), clang::GetUnarySelector(), and clang::ASTImporter::Import().
◆ ShortAccumTy ◆ ShortFractTy ◆ ShortTyDefinition at line 1169 of file ASTContext.h.
Referenced by ChangeIntegralSignedness(), computeBestEnumTypes(), ConvertDeclSpecToType(), convertHalfVecBinOp(), DecodeTypeFromStr(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), clang::analyze_scanf::ScanfSpecifier::getArgType(), GetCFNumberSize(), getCorrespondingSignedType(), clang::getNeonEltType(), getNextLargerIntegralType(), clang::Sema::GetSignedVectorType(), clang::ASTReader::GetType(), and InitBuiltinTypes().
◆ SignedCharTy ◆ SYCLKernels ◆ TUKind ◆ UnknownAnyTyDefinition at line 1189 of file ASTContext.h.
Referenced by clang::Sema::ActOnFinishFullExpr(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildCallExpr(), clang::Sema::BuildDeclarationNameExpr(), clang::SemaObjC::BuildInstanceMessage(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::CheckAddressOfOperand(), clang::SemaObjC::CheckMessageArgumentTypes(), ClassifyInternal(), ClassifyMemberExpr(), ConvertDeclSpecToType(), clang::Sema::deduceVarTypeFromInitializer(), clang::Sema::GatherArgumentsForCall(), clang::ASTReader::GetType(), InitBuiltinTypes(), and clang::Sema::SelectBestMethod().
◆ UnresolvedTemplateTy ◆ UnsignedAccumTy ◆ UnsignedCharTyDefinition at line 1170 of file ASTContext.h.
Referenced by clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnStringLiteral(), ChangeIntegralSignedness(), checkPointerTypesForAssignment(), computeBestEnumTypes(), ConvertDeclSpecToType(), CreatePowerABIBuiltinVaListDecl(), clang::DecodePPCMMATypeFromStr(), DecodeTypeFromStr(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getCorrespondingUnsignedType(), clang::getNeonEltType(), clang::Type::getSveEltType(), clang::ASTReader::GetType(), InitBuiltinTypes(), and clang::TreeTransform< Derived >::RebuildArrayType().
◆ UnsignedFractTy ◆ UnsignedInt128Ty ◆ UnsignedIntTyDefinition at line 1170 of file ASTContext.h.
Referenced by clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnSourceLocExpr(), ChangeIntegralSignedness(), clang::SemaHLSL::CheckBuiltinFunctionCall(), clang::SemaOpenCL::checkBuiltinReserveRWPipe(), clang::SemaOpenCL::checkBuiltinRWPipe(), CheckUnsignedIntRepresentation(), computeBestEnumTypes(), ConvertDeclSpecToType(), CreateX86_64ABIBuiltinVaListDecl(), DecodeTypeFromStr(), DeduceTemplateArgumentsByTypeMatch(), clang::SourceLocExpr::EvaluateInContext(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getCorrespondingUnsignedType(), getLegacyIntegralTypeEncoding(), clang::getNeonEltType(), getNextLargerIntegralType(), getPromotedIntegerType(), clang::ASTReader::GetType(), getUnsignedWCharType(), InitBuiltinTypes(), clang::Sema::Initialize(), clang::Sema::IsIntegralPromotion(), isPromotableBitField(), clang::TreeTransform< Derived >::RebuildArrayType(), and shouldNotPrintDirectly().
◆ UnsignedLongAccumTy ◆ UnsignedLongFractTy ◆ UnsignedLongLongTyDefinition at line 1171 of file ASTContext.h.
Referenced by clang::Sema::ActOnNumericConstant(), ChangeIntegralSignedness(), clang::Sema::CheckLiteralOperatorDeclaration(), computeBestEnumTypes(), ConvertDeclSpecToType(), DecodeTypeFromStr(), clang::Sema::DefaultArgumentPromotion(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getCorrespondingUnsignedType(), clang::getNeonEltType(), getNextLargerIntegralType(), getNSUIntegerType(), getPromotedIntegerType(), clang::ASTReader::GetType(), InitBuiltinTypes(), instantiateDependentAllocAlignAttr(), clang::Sema::IsIntegralPromotion(), and clang::TreeTransform< Derived >::RebuildArrayType().
◆ UnsignedLongTyDefinition at line 1170 of file ASTContext.h.
Referenced by clang::Sema::ActOnNumericConstant(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCDictionaryLiteral(), ChangeIntegralSignedness(), computeBestEnumTypes(), ConvertDeclSpecToType(), DecodeTypeFromStr(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getBlockDescriptorExtendedType(), getBlockDescriptorType(), getCorrespondingUnsignedType(), clang::getNeonEltType(), getNextLargerIntegralType(), getNSUIntegerType(), clang::CodeGen::CodeGenModule::getObjCFastEnumerationStateType(), getPromotedIntegerType(), clang::ASTReader::GetType(), InitBuiltinTypes(), clang::Sema::Initialize(), clang::Sema::IsIntegralPromotion(), clang::TreeTransform< Derived >::RebuildArrayType(), and RVVType2Qual().
◆ UnsignedShortAccumTy ◆ UnsignedShortFractTy ◆ UnsignedShortTyDefinition at line 1170 of file ASTContext.h.
Referenced by ChangeIntegralSignedness(), computeBestEnumTypes(), ConvertDeclSpecToType(), CreatePowerABIBuiltinVaListDecl(), DecodeTypeFromStr(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getCorrespondingUnsignedType(), clang::getNeonEltType(), getNextLargerIntegralType(), clang::ASTReader::GetType(), InitBuiltinTypes(), and clang::TreeTransform< Derived >::RebuildArrayType().
◆ VaListTagDecl Decl* clang::ASTContext::VaListTagDecl = nullptr mutable ◆ VoidPtrTyDefinition at line 1187 of file ASTContext.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeCXXConstructorCall(), clang::CodeGen::CodeGenTypes::arrangeCXXStructorDeclaration(), clang::ento::SimpleConstraintManager::assumeInternal(), clang::SemaObjC::BuildObjCBoxedExpr(), CheckAtomicAlignment(), CheckOperatorDeleteDeclaration(), CheckOperatorNewDeclaration(), checkPointerAuthValue(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::DefaultArgumentPromotion(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CGOpenMPRuntimeGPU::emitParallelCall(), emitReduceInitFunction(), emitStructGetterCall(), emitStructSetterCall(), clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall(), clang::CodeGen::CGOpenMPRuntime::emitThreadPrivateVarDefinition(), clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsFini(), clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit(), clang::Sema::FindAllocationFunctions(), generateByrefCopyHelper(), generateByrefDisposeHelper(), getAllocatorVal(), getBlockDescriptorExtendedType(), clang::CodeGen::CodeGenModule::getBlockObjectAssign(), clang::CodeGen::CodeGenModule::getBlockObjectDispose(), getObjCEncodingForBlock(), getObjCEncodingForMethodDecl(), getObjCEncodingTypeSize(), getTargetRegionParams(), getTaskloopRegionParams(), getTaskRegionParams(), InitBuiltinTypes(), and clang::FunctionDecl::isReservedGlobalPlacementOperator().
◆ VoidTyDefinition at line 1160 of file ASTContext.h.
Referenced by clang::Sema::ActOnAddrLabel(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnIndirectGotoStmt(), actOnOMPReductionKindClause(), clang::Sema::AdjustDestructorExceptionSpec(), clang::CodeGen::CodeGenTypes::arrangeCXXConstructorCall(), clang::CodeGen::CodeGenTypes::arrangeCXXStructorDeclaration(), clang::CodeGen::CodeGenTypes::arrangeMSCtorClosure(), clang::CodeGen::CodeGenTypes::arrangeUnprototypedMustTailThunk(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildCallExpr(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCXXThrow(), clang::Sema::BuildEmptyCXXFoldExpr(), clang::Sema::BuildInitList(), buildPostUpdate(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildStmtExpr(), clang::ento::StoreManager::castRegion(), clang::SemaObjC::CheckARCMethodDecl(), clang::SemaRISCV::CheckBuiltinFunctionCall(), checkConditionalBlockPointerCompatibility(), checkConditionalPointerCompatibility(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), CheckOperatorDeleteDeclaration(), ConvertDeclSpecToType(), clang::ConvertQualTypeToKind(), CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), CreateHexagonBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateVoidPtrBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), clang::Sema::DeclareGlobalNewDelete(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::DeclareImplicitDestructor(), clang::Sema::DeclareImplicitMoveConstructor(), DecodeTypeFromStr(), clang::Sema::deduceClosureReturnType(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::CodeGen::CodeGenTypes::DeriveThisType(), diagOpenCLBuiltinTypeError(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), emitGlobalDtorWithCXAAtExit(), emitOutlinedFunctionPrologue(), emitStructGetterCall(), emitStructSetterCall(), clang::CodeGen::CGOpenMPRuntime::emitThreadPrivateVarDefinition(), clang::Sema::FindAllocationFunctions(), GeneralizeType(), generateByrefCopyHelper(), generateByrefDisposeHelper(), clang::CodeGen::CodeGenModule::getBlockObjectAssign(), clang::CodeGen::CodeGenModule::getBlockObjectDispose(), clang::CallExpr::getCallReturnType(), GetDeclSpecTypeForDeclarator(), clang::ento::CallEvent::getResultType(), getTaskloopRegionParams(), getTaskRegionParams(), clang::ASTReader::GetType(), clang::ento::MemRegionManager::getVarRegion(), handleCleanupAttr(), clang::Sema::IgnoredValueConversions(), InitBuiltinTypes(), clang::Sema::MaybeCreateStmtWithCleanups(), clang::SemaObjC::ProcessPropertyDecl(), clang::Sema::PushCapturedRegionScope(), RVVType2Qual(), TryListConversion(), and clang::ASTNodeImporter::VisitFunctionDecl().
◆ WCharTy ◆ WideCharTy ◆ WIntTyThe documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4