A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1ASTContext.html below:

clang: clang::ASTContext Class Reference

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"

enum   GetBuiltinTypeError {
  GE_None , GE_Missing_type , GE_Missing_stdio , GE_Missing_setjmp ,
  GE_Missing_ucontext
}   enum   NeedExtraManglingDecl_t { NeedExtraManglingDecl }   enum class   InlineVariableDefinitionKind { None , Weak , WeakUnknown , Strong }   enum   PragmaSectionFlag : unsigned {
  PSF_None = 0 , PSF_Read = 0x1 , PSF_Write = 0x2 , PSF_Execute = 0x4 ,
  PSF_Implicit = 0x8 , PSF_ZeroInit = 0x10 , PSF_Invalid = 0x80000000U
}   using  TemplateOrSpecializationInfo = llvm::PointerUnion< VarTemplateDecl *, MemberSpecializationInfo * >   A type synonym for the TemplateOrInstantiation mapping.
  using  overridden_cxx_method_iterator = CXXMethodVector::const_iterator   using  overridden_method_range = llvm::iterator_range< overridden_cxx_method_iterator >   using  import_range = llvm::iterator_range< import_iterator >   interp::ContextgetInterpContext ()   Returns the clang bytecode interpreter context.
  ParentMapContextgetParentMapContext ()   Returns the dynamic AST node parent map context.
  std::vector< Decl * >  getTraversalScope () const   void  setTraversalScope (const std::vector< Decl * > &)   template<typename NodeT > DynTypedNodeList  getParents (const NodeT &Node)   Forwards to get node parents from the ParentMapContext.
  const clang::PrintingPolicygetPrintingPolicy () const   void  setPrintingPolicy (const clang::PrintingPolicy &Policy)   SourceManagergetSourceManager ()   const SourceManagergetSourceManager () const   void  cleanup ()   llvm::BumpPtrAllocator &  getAllocator () const   void *  Allocate (size_t Size, unsigned Align=8) const   template<typename T > TAllocate (size_t Num=1) const   void  Deallocate (void *Ptr) const   llvm::StringRef  backupStr (llvm::StringRef S) const   DeclListNodeAllocateDeclListNode (clang::NamedDecl *ND)   Allocates a DeclListNode or returns one from the ListNodeFreeList pool.
  void  DeallocateDeclListNode (DeclListNode *N)   Deallcates a DeclListNode by returning it to the ListNodeFreeList pool.
  size_t  getASTAllocatedMemory () const   Return the total amount of physical memory allocated for representing AST nodes and type information.
  size_t  getSideTableAllocatedMemory () const   Return the total memory used for various side tables.
  PartialDiagnostic::DiagStorageAllocatorgetDiagAllocator ()   const TargetInfogetTargetInfo () const   const TargetInfogetAuxTargetInfo () const   const QualType  GetHigherPrecisionFPType (QualType ElementType) const   QualType  getIntTypeForBitwidth (unsigned DestWidth, unsigned Signed) const   getIntTypeForBitwidth - sets integer QualTy according to specified details: bitwidth, signed/unsigned.
  QualType  getRealTypeForBitwidth (unsigned DestWidth, FloatModeKind ExplicitType) const   getRealTypeForBitwidth - sets floating point QualTy according to specified bitwidth.
  bool  AtomicUsesUnsupportedLibcall (const AtomicExpr *E) const   const LangOptionsgetLangOpts () const   bool  isDependenceAllowed () const   const NoSanitizeListgetNoSanitizeList () const   bool  isTypeIgnoredBySanitizer (const SanitizerMask &Mask, const QualType &Ty) const   Check if a type can have its sanitizer instrumentation elided based on its presence within an ignorelist.
  const XRayFunctionFiltergetXRayFilter () const   const ProfileListgetProfileList () const   DiagnosticsEnginegetDiagnostics () const   FullSourceLoc  getFullLoc (SourceLocation Loc) const   TargetCXXABI::Kind  getCXXABIKind () const   Return the C++ ABI kind that should be used.
  void  cacheRawCommentForDecl (const Decl &OriginalD, const RawComment &Comment) const   Attaches Comment to OriginalD and to its redeclaration chain and removes the redeclaration chain from the set of commentless chains.
  RawCommentgetRawCommentForDeclNoCacheImpl (const Decl *D, const SourceLocation RepresentativeLocForDecl, const std::map< unsigned, RawComment * > &CommentsInFile) const   RawCommentgetRawCommentForDeclNoCache (const Decl *D) const   Return the documentation comment attached to a given declaration, without looking into cache.
  void  addComment (const RawComment &RC)   const RawCommentgetRawCommentForAnyRedecl (const Decl *D, const Decl **OriginalDecl=nullptr) const   Return the documentation comment attached to a given declaration.
  void  attachCommentsToJustParsedDecls (ArrayRef< Decl * > Decls, const Preprocessor *PP)   Searches existing comments for doc comments that should be attached to Decls.
  comments::FullCommentgetCommentForDecl (const Decl *D, const Preprocessor *PP) const   Return parsed documentation comment attached to a given declaration.
  comments::FullCommentgetLocalCommentForDeclUncached (const Decl *D) const   Return parsed documentation comment attached to a given declaration.
  comments::FullCommentcloneFullComment (comments::FullComment *FC, const Decl *D) const   comments::CommandTraitsgetCommentCommandTraits () const   AttrVecgetDeclAttrs (const Decl *D)   Retrieve the attributes for the given declaration.
  void  eraseDeclAttrs (const Decl *D)   Erase the attributes corresponding to the given declaration.
  MemberSpecializationInfogetInstantiatedFromStaticDataMember (const VarDecl *Var)   If this variable is an instantiated static data member of a class template specialization, returns the templated static data member from which it was instantiated.
  void  setInstantiatedFromStaticDataMember (VarDecl *Inst, VarDecl *Tmpl, TemplateSpecializationKind TSK, SourceLocation PointOfInstantiation=SourceLocation())   Note that the static data member Inst is an instantiation of the static data member template Tmpl of a class template.
  TemplateOrSpecializationInfo  getTemplateOrSpecializationInfo (const VarDecl *Var)   void  setTemplateOrSpecializationInfo (VarDecl *Inst, TemplateOrSpecializationInfo TSI)   NamedDeclgetInstantiatedFromUsingDecl (NamedDecl *Inst)   If the given using decl Inst is an instantiation of another (possibly unresolved) using decl, return it.
  void  setInstantiatedFromUsingDecl (NamedDecl *Inst, NamedDecl *Pattern)   Remember that the using decl Inst is an instantiation of the using decl Pattern of a class template.
  UsingEnumDeclgetInstantiatedFromUsingEnumDecl (UsingEnumDecl *Inst)   If the given using-enum decl Inst is an instantiation of another using-enum decl, return it.
  void  setInstantiatedFromUsingEnumDecl (UsingEnumDecl *Inst, UsingEnumDecl *Pattern)   Remember that the using enum decl Inst is an instantiation of the using enum decl Pattern of a class template.
  UsingShadowDeclgetInstantiatedFromUsingShadowDecl (UsingShadowDecl *Inst)   void  setInstantiatedFromUsingShadowDecl (UsingShadowDecl *Inst, UsingShadowDecl *Pattern)   FieldDeclgetInstantiatedFromUnnamedFieldDecl (FieldDecl *Field) const   void  setInstantiatedFromUnnamedFieldDecl (FieldDecl *Inst, FieldDecl *Tmpl)   overridden_cxx_method_iterator  overridden_methods_begin (const CXXMethodDecl *Method) const   overridden_cxx_method_iterator  overridden_methods_end (const CXXMethodDecl *Method) const   unsigned  overridden_methods_size (const CXXMethodDecl *Method) const   overridden_method_range  overridden_methods (const CXXMethodDecl *Method) const   void  addOverriddenMethod (const CXXMethodDecl *Method, const CXXMethodDecl *Overridden)   Note that the given C++ Method overrides the given Overridden method.
  void  getOverriddenMethods (const NamedDecl *Method, SmallVectorImpl< const NamedDecl * > &Overridden) const   Return C++ or ObjC overridden methods for the given Method.
  void  addedLocalImportDecl (ImportDecl *Import)   Notify the AST context that a new import declaration has been parsed or implicitly created within this translation unit.
  import_range  local_imports () const   DeclgetPrimaryMergedDecl (Decl *D)   void  setPrimaryMergedDecl (Decl *D, Decl *Primary)   void  mergeDefinitionIntoModule (NamedDecl *ND, Module *M, bool NotifyListeners=true)   Note that the definition ND has been merged into module M, and should be visible whenever M is visible.
  void  deduplicateMergedDefinitonsFor (NamedDecl *ND)   Clean up the merged definition list.
  ArrayRef< Module * >  getModulesWithMergedDefinition (const NamedDecl *Def)   Get the additional modules in which the definition Def has been merged.
  void  addModuleInitializer (Module *M, Decl *Init)   Add a declaration to the list of declarations that are initialized for a module.
  void  addLazyModuleInitializers (Module *M, ArrayRef< GlobalDeclID > IDs)   ArrayRef< Decl * >  getModuleInitializers (Module *M)   Get the initializations to perform when importing a module, if any.
  void  setCurrentNamedModule (Module *M)   Set the (C++20) module we are building.
  ModulegetCurrentNamedModule () const   Get module under construction, nullptr if this is not a C++20 module.
  bool  isInSameModule (const Module *M1, const Module *M2)   If the two module M1 and M2 are in the same module.
  TranslationUnitDeclgetTranslationUnitDecl () const   void  addTranslationUnitDecl ()   ExternCContextDeclgetExternCContextDecl () const   BuiltinTemplateDeclgetMakeIntegerSeqDecl () const   BuiltinTemplateDeclgetTypePackElementDecl () const   BuiltinTemplateDeclgetBuiltinCommonTypeDecl () const     ASTContext (LangOptions &LOpts, SourceManager &SM, IdentifierTable &idents, SelectorTable &sels, Builtin::Context &builtins, TranslationUnitKind TUKind)     ASTContext (const ASTContext &)=delete   ASTContextoperator= (const ASTContext &)=delete     ~ASTContext ()   void  setExternalSource (IntrusiveRefCntPtr< ExternalASTSource > Source)   Attach an external AST source to the AST context.
  ExternalASTSourcegetExternalSource () const   Retrieve a pointer to the external AST source associated with this AST context, if any.
  void  setASTMutationListener (ASTMutationListener *Listener)   Attach an AST mutation listener to the AST context.
  ASTMutationListenergetASTMutationListener () const   Retrieve a pointer to the AST mutation listener associated with this AST context, if any.
  void  PrintStats () const   const SmallVectorImpl< Type * > &  getTypes () const   BuiltinTemplateDeclbuildBuiltinTemplateDecl (BuiltinTemplateKind BTK, const IdentifierInfo *II) const   RecordDeclbuildImplicitRecord (StringRef Name, RecordDecl::TagKind TK=RecordDecl::TagKind::Struct) const   Create a new implicit TU-level CXXRecordDecl or RecordDecl declaration.
  TypedefDeclbuildImplicitTypedef (QualType T, StringRef Name) const   Create a new implicit TU-level typedef declaration.
  TypedefDeclgetInt128Decl () const   Retrieve the declaration for the 128-bit signed integer type.
  TypedefDeclgetUInt128Decl () const   Retrieve the declaration for the 128-bit unsigned integer type.
  QualType  getAddrSpaceQualType (QualType T, LangAS AddressSpace) const   Return the uniqued reference to the type for an address space qualified type with the specified type and address space.
  QualType  removeAddrSpaceQualType (QualType T) const   Remove any existing address space on the type and returns the type with qualifiers intact (or that's the idea anyway)
  uint16_t  getPointerAuthVTablePointerDiscriminator (const CXXRecordDecl *RD)   Return the "other" discriminator used for the pointer auth schema used for vtable pointers in instances of the requested type.
  uint16_t  getPointerAuthTypeDiscriminator (QualType T)   Return the "other" type-specific discriminator for the given type.
  QualType  applyObjCProtocolQualifiers (QualType type, ArrayRef< ObjCProtocolDecl * > protocols, bool &hasError, bool allowOnPointerType=false) const   Apply Objective-C protocol qualifiers to the given type.
  QualType  getObjCGCQualType (QualType T, Qualifiers::GC gcAttr) const   Return the uniqued reference to the type for an Objective-C gc-qualified type.
  QualType  removePtrSizeAddrSpace (QualType T) const   Remove the existing address space on the type if it is a pointer size address space and return the type with qualifiers intact.
  QualType  getRestrictType (QualType T) const   Return the uniqued reference to the type for a restrict qualified type.
  QualType  getVolatileType (QualType T) const   Return the uniqued reference to the type for a volatile qualified type.
  QualType  getConstType (QualType T) const   Return the uniqued reference to the type for a const qualified type.
  QualType  adjustType (QualType OldType, llvm::function_ref< QualType(QualType)> Adjust) const   Rebuild a type, preserving any existing type sugar.
  const FunctionTypeadjustFunctionType (const FunctionType *Fn, FunctionType::ExtInfo EInfo)   Change the ExtInfo on a function type.
  QualType  adjustFunctionResultType (QualType FunctionType, QualType NewResultType)   Change the result type of a function type, preserving sugar such as attributed types.
  CanQualType  getCanonicalFunctionResultType (QualType ResultType) const   Adjust the given function result type.
  void  adjustDeducedFunctionResultType (FunctionDecl *FD, QualType ResultType)   Change the result type of a function type once it is deduced.
  QualType  getFunctionTypeWithExceptionSpec (QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI) const   Get a function type and produce the equivalent function type with the specified exception specification.
  bool  hasSameFunctionTypeIgnoringExceptionSpec (QualType T, QualType U) const   Determine whether two function types are the same, ignoring exception specifications in cases where they're part of the type.
  void  adjustExceptionSpec (FunctionDecl *FD, const FunctionProtoType::ExceptionSpecInfo &ESI, bool AsWritten=false)   Change the exception specification on a function once it is delay-parsed, instantiated, or computed.
  QualType  getFunctionTypeWithoutPtrSizes (QualType T)   Get a function type and produce the equivalent function type where pointer size address spaces in the return type and parameter types are replaced with the default address space.
  bool  hasSameFunctionTypeIgnoringPtrSizes (QualType T, QualType U)   Determine whether two function types are the same, ignoring pointer sizes in the return type and parameter types.
  QualType  getFunctionTypeWithoutParamABIs (QualType T) const   Get or construct a function type that is equivalent to the input type except that the parameter ABI annotations are stripped.
  bool  hasSameFunctionTypeIgnoringParamABI (QualType T, QualType U) const   Determine if two function types are the same, ignoring parameter ABI annotations.
  QualType  getComplexType (QualType T) const   Return the uniqued reference to the type for a complex number with the specified element type.
  CanQualType  getComplexType (CanQualType T) const   QualType  getPointerType (QualType T) const   Return the uniqued reference to the type for a pointer to the specified type.
  CanQualType  getPointerType (CanQualType T) const   QualType  getCountAttributedType (QualType T, Expr *CountExpr, bool CountInBytes, bool OrNull, ArrayRef< TypeCoupledDeclRefInfo > DependentDecls) const   QualType  getAdjustedType (QualType Orig, QualType New) const   Return the uniqued reference to a type adjusted from the original type to a new type.
  CanQualType  getAdjustedType (CanQualType Orig, CanQualType New) const   QualType  getDecayedType (QualType T) const   Return the uniqued reference to the decayed version of the given type.
  CanQualType  getDecayedType (CanQualType T) const   QualType  getDecayedType (QualType Orig, QualType Decayed) const   Return the uniqued reference to a specified decay from the original type to the decayed type.
  QualType  getArrayParameterType (QualType Ty) const   Return the uniqued reference to a specified array parameter type from the original array type.
  QualType  getAtomicType (QualType T) const   Return the uniqued reference to the atomic type for the specified type.
  QualType  getBlockPointerType (QualType T) const   Return the uniqued reference to the type for a block of the specified type.
  QualType  getBlockDescriptorType () const   Gets the struct used to keep track of the descriptor for pointer to blocks.
  QualType  getReadPipeType (QualType T) const   Return a read_only pipe type for the specified type.
  QualType  getWritePipeType (QualType T) const   Return a write_only pipe type for the specified type.
  QualType  getBitIntType (bool Unsigned, unsigned NumBits) const   Return a bit-precise integer type with the specified signedness and bit count.
  QualType  getDependentBitIntType (bool Unsigned, Expr *BitsExpr) const   Return a dependent bit-precise integer type with the specified signedness and bit count.
  QualType  getBlockDescriptorExtendedType () const   Gets the struct used to keep track of the extended descriptor for pointer to blocks.
  OpenCLTypeKind  getOpenCLTypeKind (const Type *T) const   Map an AST Type to an OpenCLTypeKind enum value.
  LangAS  getOpenCLTypeAddrSpace (const Type *T) const   Get address space for OpenCL type.
  LangAS  getDefaultOpenCLPointeeAddrSpace ()   Returns default address space based on OpenCL version and enabled features.
  void  setcudaConfigureCallDecl (FunctionDecl *FD)   FunctionDeclgetcudaConfigureCallDecl ()   bool  BlockRequiresCopying (QualType Ty, const VarDecl *D)   Returns true iff we need copy/dispose helpers for the given type.
  bool  getByrefLifetime (QualType Ty, Qualifiers::ObjCLifetime &Lifetime, bool &HasByrefExtendedLayout) const   Returns true, if given type has a known lifetime.
  QualType  getLValueReferenceType (QualType T, bool SpelledAsLValue=true) const   Return the uniqued reference to the type for an lvalue reference to the specified type.
  QualType  getRValueReferenceType (QualType T) const   Return the uniqued reference to the type for an rvalue reference to the specified type.
  QualType  getMemberPointerType (QualType T, const Type *Cls) const   Return the uniqued reference to the type for a member pointer to the specified type in the specified class.
  QualType  getVariableArrayType (QualType EltTy, Expr *NumElts, ArraySizeModifier ASM, unsigned IndexTypeQuals, SourceRange Brackets) const   Return a non-unique reference to the type for a variable array of the specified element type.
  QualType  getDependentSizedArrayType (QualType EltTy, Expr *NumElts, ArraySizeModifier ASM, unsigned IndexTypeQuals, SourceRange Brackets) const   Return a non-unique reference to the type for a dependently-sized array of the specified element type.
  QualType  getIncompleteArrayType (QualType EltTy, ArraySizeModifier ASM, unsigned IndexTypeQuals) const   Return a unique reference to the type for an incomplete array of the specified element type.
  QualType  getConstantArrayType (QualType EltTy, const llvm::APInt &ArySize, const Expr *SizeExpr, ArraySizeModifier ASM, unsigned IndexTypeQuals) const   Return the unique reference to the type for a constant array of the specified element type.
  QualType  getStringLiteralArrayType (QualType EltTy, unsigned Length) const   Return a type for a constant array for a string literal of the specified element type and length.
  QualType  getVariableArrayDecayedType (QualType Ty) const   Returns a vla type where known sizes are replaced with [*].
  BuiltinVectorTypeInfo  getBuiltinVectorTypeInfo (const BuiltinType *VecTy) const   Returns the element type, element count and number of vectors (in case of tuple) for a builtin vector type.
  QualType  getScalableVectorType (QualType EltTy, unsigned NumElts, unsigned NumFields=1) const   Return the unique reference to a scalable vector type of the specified element type and scalable number of elements.
  QualType  getWebAssemblyExternrefType () const   Return a WebAssembly externref type.
  QualType  getVectorType (QualType VectorType, unsigned NumElts, VectorKind VecKind) const   Return the unique reference to a vector type of the specified element type and size.
  QualType  getDependentVectorType (QualType VectorType, Expr *SizeExpr, SourceLocation AttrLoc, VectorKind VecKind) const   Return the unique reference to the type for a dependently sized vector of the specified element type.
  QualType  getExtVectorType (QualType VectorType, unsigned NumElts) const   Return the unique reference to an extended vector type of the specified element type and size.
  QualType  getDependentSizedExtVectorType (QualType VectorType, Expr *SizeExpr, SourceLocation AttrLoc) const   QualType  getConstantMatrixType (QualType ElementType, unsigned NumRows, unsigned NumColumns) const   Return the unique reference to the matrix type of the specified element type and size.
  QualType  getDependentSizedMatrixType (QualType ElementType, Expr *RowExpr, Expr *ColumnExpr, SourceLocation AttrLoc) const   Return the unique reference to the matrix type of the specified element type and size.
  QualType  getDependentAddressSpaceType (QualType PointeeType, Expr *AddrSpaceExpr, SourceLocation AttrLoc) const   QualType  getFunctionNoProtoType (QualType ResultTy, const FunctionType::ExtInfo &Info) const   Return a K&R style C function type like 'int()'.
  QualType  getFunctionNoProtoType (QualType ResultTy) const   QualType  getFunctionType (QualType ResultTy, ArrayRef< QualType > Args, const FunctionProtoType::ExtProtoInfo &EPI) const   Return a normal function type with a typed argument list.
  QualType  adjustStringLiteralBaseType (QualType StrLTy) const   QualType  getTypeDeclType (const TypeDecl *Decl, const TypeDecl *PrevDecl=nullptr) const   Return the unique reference to the type for the specified type declaration.
  QualType  getUsingType (const UsingShadowDecl *Found, QualType Underlying) const   QualType  getTypedefType (const TypedefNameDecl *Decl, QualType Underlying=QualType()) const   Return the unique reference to the type for the specified typedef-name decl.
  QualType  getRecordType (const RecordDecl *Decl) const   QualType  getEnumType (const EnumDecl *Decl) const   bool  computeBestEnumTypes (bool IsPacked, unsigned NumNegativeBits, unsigned NumPositiveBits, QualType &BestType, QualType &BestPromotionType)   Compute BestType and BestPromotionType for an enum based on the highest number of negative and positive bits of its elements.
  QualType  getUnresolvedUsingType (const UnresolvedUsingTypenameDecl *Decl) const   QualType  getInjectedClassNameType (CXXRecordDecl *Decl, QualType TST) const   getInjectedClassNameType - Return the unique reference to the injected class name type for the specified templated declaration.
  QualType  getAttributedType (attr::Kind attrKind, QualType modifiedType, QualType equivalentType, const Attr *attr=nullptr) const   QualType  getAttributedType (const Attr *attr, QualType modifiedType, QualType equivalentType) const   QualType  getAttributedType (NullabilityKind nullability, QualType modifiedType, QualType equivalentType)   QualType  getBTFTagAttributedType (const BTFTypeTagAttr *BTFAttr, QualType Wrapped) const   QualType  getHLSLAttributedResourceType (QualType Wrapped, QualType Contained, const HLSLAttributedResourceType::Attributes &Attrs)   QualType  getSubstTemplateTypeParmType (QualType Replacement, Decl *AssociatedDecl, unsigned Index, std::optional< unsigned > PackIndex, SubstTemplateTypeParmTypeFlag Flag=SubstTemplateTypeParmTypeFlag::None) const   Retrieve a substitution-result type.
  QualType  getSubstTemplateTypeParmPackType (Decl *AssociatedDecl, unsigned Index, bool Final, const TemplateArgument &ArgPack)   Retrieve a.
  QualType  getTemplateTypeParmType (unsigned Depth, unsigned Index, bool ParameterPack, TemplateTypeParmDecl *ParmDecl=nullptr) const   Retrieve the template type parameter type for a template parameter or parameter pack with the given depth, index, and (optionally) name.
  QualType  getTemplateSpecializationType (TemplateName T, ArrayRef< TemplateArgument > Args, QualType Canon=QualType()) const   QualType  getCanonicalTemplateSpecializationType (TemplateName T, ArrayRef< TemplateArgument > Args) const   QualType  getTemplateSpecializationType (TemplateName T, ArrayRef< TemplateArgumentLoc > Args, QualType Canon=QualType()) const   TypeSourceInfogetTemplateSpecializationTypeInfo (TemplateName T, SourceLocation TLoc, const TemplateArgumentListInfo &Args, QualType Canon=QualType()) const   QualType  getParenType (QualType NamedType) const   QualType  getMacroQualifiedType (QualType UnderlyingTy, const IdentifierInfo *MacroII) const   QualType  getElaboratedType (ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, QualType NamedType, TagDecl *OwnedTagDecl=nullptr) const   QualType  getDependentNameType (ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, const IdentifierInfo *Name, QualType Canon=QualType()) const   QualType  getDependentTemplateSpecializationType (ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, const IdentifierInfo *Name, ArrayRef< TemplateArgumentLoc > Args) const   QualType  getDependentTemplateSpecializationType (ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, const IdentifierInfo *Name, ArrayRef< TemplateArgument > Args) const   TemplateArgument  getInjectedTemplateArg (NamedDecl *ParamDecl) const   QualType  getPackExpansionType (QualType Pattern, std::optional< unsigned > NumExpansions, bool ExpectPackInType=true) const   Form a pack expansion type with the given pattern.
  QualType  getObjCInterfaceType (const ObjCInterfaceDecl *Decl, ObjCInterfaceDecl *PrevDecl=nullptr) const   getObjCInterfaceType - Return the unique reference to the type for the specified ObjC interface decl.
  QualType  getObjCObjectType (QualType Base, ObjCProtocolDecl *const *Protocols, unsigned NumProtocols) const   Legacy interface: cannot provide type arguments or __kindof.
  QualType  getObjCObjectType (QualType Base, ArrayRef< QualType > typeArgs, ArrayRef< ObjCProtocolDecl * > protocols, bool isKindOf) const   QualType  getObjCTypeParamType (const ObjCTypeParamDecl *Decl, ArrayRef< ObjCProtocolDecl * > protocols) const   void  adjustObjCTypeParamBoundType (const ObjCTypeParamDecl *Orig, ObjCTypeParamDecl *New) const   bool  ObjCObjectAdoptsQTypeProtocols (QualType QT, ObjCInterfaceDecl *Decl)   ObjCObjectAdoptsQTypeProtocols - Checks that protocols in IC's protocol list adopt all protocols in QT's qualified-id protocol list.
  bool  QIdProtocolsAdoptObjCObjectProtocols (QualType QT, ObjCInterfaceDecl *IDecl)   QIdProtocolsAdoptObjCObjectProtocols - Checks that protocols in QT's qualified-id protocol list adopt all protocols in IDecl's list of protocols.
  QualType  getObjCObjectPointerType (QualType OIT) const   Return a ObjCObjectPointerType type for the given ObjCObjectType.
  QualType  getTypeOfExprType (Expr *E, TypeOfKind Kind) const   C23 feature and GCC extension.
  QualType  getTypeOfType (QualType QT, TypeOfKind Kind) const   getTypeOfType - Unlike many "get<Type>" functions, we don't unique TypeOfType nodes.
  QualType  getReferenceQualifiedType (const Expr *e) const   getReferenceQualifiedType - 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.
  QualType  getDecltypeType (Expr *e, QualType UnderlyingType) const   C++11 decltype.
  QualType  getPackIndexingType (QualType Pattern, Expr *IndexExpr, bool FullySubstituted=false, ArrayRef< QualType > Expansions={}, int Index=-1) const   QualType  getUnaryTransformType (QualType BaseType, QualType UnderlyingType, UnaryTransformType::UTTKind UKind) const   Unary type transforms.
  QualType  getAutoType (QualType DeducedType, AutoTypeKeyword Keyword, bool IsDependent, bool IsPack=false, ConceptDecl *TypeConstraintConcept=nullptr, ArrayRef< TemplateArgument > TypeConstraintArgs={}) const   C++11 deduced auto type.
  QualType  getAutoDeductType () const   C++11 deduction pattern for 'auto' type.
  QualType  getAutoRRefDeductType () const   C++11 deduction pattern for 'auto &&' type.
  QualType  getUnconstrainedType (QualType T) const   Remove any type constraints from a template parameter type, for equivalence comparison of template parameters.
  QualType  getDeducedTemplateSpecializationType (TemplateName Template, QualType DeducedType, bool IsDependent) const   C++17 deduced class template specialization type.
  QualType  getTagDeclType (const TagDecl *Decl) const   Return the unique reference to the type for the specified TagDecl (struct/union/class/enum) decl.
  CanQualType  getSizeType () const   Return the unique type for "size_t" (C99 7.17), defined in <stddef.h>.
  CanQualType  getSignedSizeType () const   Return the unique signed counterpart of the integer type corresponding to size_t.
  CanQualType  getIntMaxType () const   Return the unique type for "intmax_t" (C99 7.18.1.5), defined in <stdint.h>.
  CanQualType  getUIntMaxType () const   Return the unique type for "uintmax_t" (C99 7.18.1.5), defined in <stdint.h>.
  QualType  getWCharType () const   Return the unique wchar_t type available in C++ (and available as __wchar_t as a Microsoft extension).
  QualType  getWideCharType () const   Return the type of wide characters.
  QualType  getSignedWCharType () const   Return the type of "signed wchar_t".
  QualType  getUnsignedWCharType () const   Return the type of "unsigned wchar_t".
  QualType  getWIntType () const   In C99, this returns a type compatible with the type defined in <stddef.h> as defined by the target.
  QualType  getIntPtrType () const   Return a type compatible with "intptr_t" (C99 7.18.1.4), as defined by the target.
  QualType  getUIntPtrType () const   Return a type compatible with "uintptr_t" (C99 7.18.1.4), as defined by the target.
  QualType  getPointerDiffType () const   Return the unique type for "ptrdiff_t" (C99 7.17) defined in <stddef.h>.
  QualType  getUnsignedPointerDiffType () const   Return the unique unsigned counterpart of "ptrdiff_t" integer type.
  QualType  getProcessIDType () const   Return the unique type for "pid_t" defined in <sys/types.h>.
  QualType  getCFConstantStringType () const   Return the C structure type used to represent constant CFStrings.
  QualType  getObjCSuperType () const   Returns the C struct type for objc_super.
  void  setObjCSuperType (QualType ST)   QualType  getRawCFConstantStringType () const   Get the structure type used to representation CFStrings, or NULL if it hasn't yet been built.
  void  setCFConstantStringType (QualType T)   TypedefDeclgetCFConstantStringDecl () const   RecordDeclgetCFConstantStringTagDecl () const   void  setObjCConstantStringInterface (ObjCInterfaceDecl *Decl)   QualType  getObjCConstantStringInterface () const   QualType  getObjCNSStringType () const   void  setObjCNSStringType (QualType T)   QualType  getObjCIdRedefinitionType () const   Retrieve the type that id has been defined to, which may be different from the built-in id if id has been typedef'd.
  void  setObjCIdRedefinitionType (QualType RedefType)   Set the user-written type that redefines id.
  QualType  getObjCClassRedefinitionType () const   Retrieve the type that Class has been defined to, which may be different from the built-in Class if Class has been typedef'd.
  void  setObjCClassRedefinitionType (QualType RedefType)   Set the user-written type that redefines 'SEL'.
  QualType  getObjCSelRedefinitionType () const   Retrieve the type that 'SEL' has been defined to, which may be different from the built-in 'SEL' if 'SEL' has been typedef'd.
  void  setObjCSelRedefinitionType (QualType RedefType)   Set the user-written type that redefines 'SEL'.
  IdentifierInfogetNSObjectName () const   Retrieve the identifier 'NSObject'.
  IdentifierInfogetNSCopyingName ()   Retrieve the identifier 'NSCopying'.
  CanQualType  getNSUIntegerType () const   CanQualType  getNSIntegerType () const   IdentifierInfogetBoolName () const   Retrieve the identifier 'bool'.
  IdentifierInfogetMakeIntegerSeqName () const   IdentifierInfogetTypePackElementName () const   IdentifierInfogetBuiltinCommonTypeName () const   QualType  getObjCInstanceType ()   Retrieve the Objective-C "instancetype" type, if already known; otherwise, returns a NULL type;.
  TypedefDeclgetObjCInstanceTypeDecl ()   Retrieve the typedef declaration corresponding to the Objective-C "instancetype" type.
  void  setFILEDecl (TypeDecl *FILEDecl)   Set the type for the C FILE type.
  QualType  getFILEType () const   Retrieve the C FILE type.
  void  setjmp_bufDecl (TypeDecl *jmp_bufDecl)   Set the type for the C jmp_buf type.
  QualType  getjmp_bufType () const   Retrieve the C jmp_buf type.
  void  setsigjmp_bufDecl (TypeDecl *sigjmp_bufDecl)   Set the type for the C sigjmp_buf type.
  QualType  getsigjmp_bufType () const   Retrieve the C sigjmp_buf type.
  void  setucontext_tDecl (TypeDecl *ucontext_tDecl)   Set the type for the C ucontext_t type.
  QualType  getucontext_tType () const   Retrieve the C ucontext_t type.
  QualType  getLogicalOperationType () const   The result type of logical operations, '<', '>', '!=', etc.
  void  getObjCEncodingForType (QualType T, std::string &S, const FieldDecl *Field=nullptr, QualType *NotEncodedT=nullptr) const   Emit the Objective-CC type encoding for the given type T into S.
  void  getObjCEncodingForPropertyType (QualType T, std::string &S) const   Emit the Objective-C property type encoding for the given type T into S.
  void  getLegacyIntegralTypeEncoding (QualType &t) const   getLegacyIntegralTypeEncoding - Another legacy compatibility encoding: 32-bit longs are encoded as 'l' or 'L' , but not always.
  void  getObjCEncodingForTypeQualifier (Decl::ObjCDeclQualifier QT, std::string &S) const   Put the string version of the type qualifiers QT into S.
  std::string  getObjCEncodingForFunctionDecl (const FunctionDecl *Decl) const   Emit the encoded type for the function Decl into S.
  std::string  getObjCEncodingForMethodDecl (const ObjCMethodDecl *Decl, bool Extended=false) const   Emit the encoded type for the method declaration Decl into S.
  std::string  getObjCEncodingForBlock (const BlockExpr *blockExpr) const   Return the encoded type for this block declaration.
  std::string  getObjCEncodingForPropertyDecl (const ObjCPropertyDecl *PD, const Decl *Container) const   getObjCEncodingForPropertyDecl - Return the encoded type for this method declaration.
  bool  ProtocolCompatibleWithProtocol (ObjCProtocolDecl *lProto, ObjCProtocolDecl *rProto) const   ProtocolCompatibleWithProtocol - return 'true' if 'lProto' is in the inheritance hierarchy of 'rProto'.
  ObjCPropertyImplDeclgetObjCPropertyImplDeclForPropertyDecl (const ObjCPropertyDecl *PD, const Decl *Container) const   CharUnits  getObjCEncodingTypeSize (QualType T) const   Return the size of type T for Objective-C encoding purpose, in characters.
  TypedefDeclgetObjCIdDecl () const   Retrieve the typedef corresponding to the predefined id type in Objective-C.
  QualType  getObjCIdType () const   Represents the Objective-CC id type.
  TypedefDeclgetObjCSelDecl () const   Retrieve the typedef corresponding to the predefined 'SEL' type in Objective-C.
  QualType  getObjCSelType () const   Retrieve the type that corresponds to the predefined Objective-C 'SEL' type.
  TypedefDeclgetObjCClassDecl () const   Retrieve the typedef declaration corresponding to the predefined Objective-C 'Class' type.
  QualType  getObjCClassType () const   Represents the Objective-C Class type.
  ObjCInterfaceDeclgetObjCProtocolDecl () const   Retrieve the Objective-C class declaration corresponding to the predefined Protocol class.
  TypedefDeclgetBOOLDecl () const   Retrieve declaration of 'BOOL' typedef.
  void  setBOOLDecl (TypedefDecl *TD)   Save declaration of 'BOOL' typedef.
  QualType  getBOOLType () const   type of 'BOOL' type.
  QualType  getObjCProtoType () const   Retrieve the type of the Objective-C Protocol class.
  TypedefDeclgetBuiltinVaListDecl () const   Retrieve the C type declaration corresponding to the predefined __builtin_va_list type.
  QualType  getBuiltinVaListType () const   Retrieve the type of the __builtin_va_list type.
  DeclgetVaListTagDecl () const   Retrieve the C type declaration corresponding to the predefined __va_list_tag type used to help define the __builtin_va_list type for some targets.
  TypedefDeclgetBuiltinMSVaListDecl () const   Retrieve the C type declaration corresponding to the predefined __builtin_ms_va_list type.
  QualType  getBuiltinMSVaListType () const   Retrieve the type of the __builtin_ms_va_list type.
  TagDeclgetMSGuidTagDecl () const   Retrieve the implicitly-predeclared 'struct _GUID' declaration.
  QualType  getMSGuidType () const   Retrieve the implicitly-predeclared 'struct _GUID' type.
  bool  canBuiltinBeRedeclared (const FunctionDecl *) const   Return whether a declaration to a builtin is allowed to be overloaded/redeclared.
  QualType  getCVRQualifiedType (QualType T, unsigned CVR) const   Return a type with additional const, volatile, or restrict qualifiers.
  QualType  getQualifiedType (SplitQualType split) const   Un-split a SplitQualType.
  QualType  getQualifiedType (QualType T, Qualifiers Qs) const   Return a type with additional qualifiers.
  QualType  getQualifiedType (const Type *T, Qualifiers Qs) const   Return a type with additional qualifiers.
  QualType  getLifetimeQualifiedType (QualType type, Qualifiers::ObjCLifetime lifetime)   Return a type with the given lifetime qualifier.
  QualType  getUnqualifiedObjCPointerType (QualType type) const   getUnqualifiedObjCPointerType - Returns version of Objective-C pointer type with lifetime qualifier removed.
  QualType  getPointerAuthType (QualType Ty, PointerAuthQualifier PointerAuth)   Return a type with the given __ptrauth qualifier.
  unsigned char  getFixedPointScale (QualType Ty) const   unsigned char  getFixedPointIBits (QualType Ty) const   llvm::FixedPointSemantics  getFixedPointSemantics (QualType Ty) const   llvm::APFixedPoint  getFixedPointMax (QualType Ty) const   llvm::APFixedPoint  getFixedPointMin (QualType Ty) const   DeclarationNameInfo  getNameForTemplate (TemplateName Name, SourceLocation NameLoc) const   TemplateName  getOverloadedTemplateName (UnresolvedSetIterator Begin, UnresolvedSetIterator End) const   Retrieve the template name that corresponds to a non-empty lookup.
  TemplateName  getAssumedTemplateName (DeclarationName Name) const   Retrieve a template name representing an unqualified-id that has been assumed to name a template for ADL purposes.
  TemplateName  getQualifiedTemplateName (NestedNameSpecifier *NNS, bool TemplateKeyword, TemplateName Template) const   Retrieve the template name that represents a qualified template name such as std::vector.
  TemplateName  getDependentTemplateName (NestedNameSpecifier *NNS, const IdentifierInfo *Name) const   Retrieve the template name that represents a dependent template name such as MetaFun::template apply.
  TemplateName  getDependentTemplateName (NestedNameSpecifier *NNS, OverloadedOperatorKind Operator) const   Retrieve the template name that represents a dependent template name such as MetaFun::template operator+.
  TemplateName  getSubstTemplateTemplateParm (TemplateName replacement, Decl *AssociatedDecl, unsigned Index, std::optional< unsigned > PackIndex) const   TemplateName  getSubstTemplateTemplateParmPack (const TemplateArgument &ArgPack, Decl *AssociatedDecl, unsigned Index, bool Final) const   TemplateName  getDeducedTemplateName (TemplateName Underlying, DefaultArguments DefaultArgs) const   Represents a TemplateName which had some of its default arguments deduced.
  QualType  DecodeTypeStr (const char *&Str, const ASTContext &Context, ASTContext::GetBuiltinTypeError &Error, bool &RequireICE, bool AllowTypeModifiers) const   QualType  GetBuiltinType (unsigned ID, GetBuiltinTypeError &Error, unsigned *IntegerConstantArgs=nullptr) const   Return the type for the specified builtin.
  Qualifiers::GC  getObjCGCAttrKind (QualType Ty) const   Return one of the GCNone, Weak or Strong Objective-C garbage collection attributes.
  bool  areCompatibleVectorTypes (QualType FirstVec, QualType SecondVec)   Return true if the given vector types are of the same unqualified type or if they are equivalent to the same GCC vector type.
  bool  areCompatibleSveTypes (QualType FirstType, QualType SecondType)   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.
  bool  areLaxCompatibleSveTypes (QualType FirstType, QualType SecondType)   Return true if the given vector types are lax-compatible SVE vector types, false otherwise.
  bool  areCompatibleRVVTypes (QualType FirstType, QualType SecondType)   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.
  bool  areLaxCompatibleRVVTypes (QualType FirstType, QualType SecondType)   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.
  bool  hasDirectOwnershipQualifier (QualType Ty) const   Return true if the type has been explicitly qualified with ObjC ownership.
  const llvm::fltSemantics &  getFloatTypeSemantics (QualType T) const   Return the APFloat 'semantics' for the specified scalar floating point type.
  TypeInfo  getTypeInfo (const Type *T) const   Get the size and alignment of the specified complete type in bits.
  TypeInfo  getTypeInfo (QualType T) const   unsigned  getOpenMPDefaultSimdAlign (QualType T) const   Get default simd alignment of the specified complete type in bits.
  uint64_t  getTypeSize (QualType T) const   Return the size of the specified (complete) type T, in bits.
  uint64_t  getTypeSize (const Type *T) const   uint64_t  getCharWidth () const   Return the size of the character type, in bits.
  CharUnits  toCharUnitsFromBits (int64_t BitSize) const   Convert a size in bits to a size in characters.
  int64_t  toBits (CharUnits CharSize) const   Convert a size in characters to a size in bits.
  CharUnits  getTypeSizeInChars (QualType T) const   Return the size of the specified (complete) type T, in characters.
  CharUnits  getTypeSizeInChars (const Type *T) const   std::optional< CharUnitsgetTypeSizeInCharsIfKnown (QualType Ty) const   std::optional< CharUnitsgetTypeSizeInCharsIfKnown (const Type *Ty) const   unsigned  getTypeAlign (QualType T) const   Return the ABI-specified alignment of a (complete) type T, in bits.
  unsigned  getTypeAlign (const Type *T) const   unsigned  getTypeUnadjustedAlign (QualType T) const   Return the ABI-specified natural alignment of a (complete) type T, before alignment adjustments, in bits.
  unsigned  getTypeUnadjustedAlign (const Type *T) const   unsigned  getTypeAlignIfKnown (QualType T, bool NeedsPreferredAlignment=false) const   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).
  CharUnits  getTypeAlignInChars (QualType T) const   Return the ABI-specified alignment of a (complete) type T, in characters.
  CharUnits  getTypeAlignInChars (const Type *T) const   CharUnits  getPreferredTypeAlignInChars (QualType T) const   Return the PreferredAlignment of a (complete) type T, in characters.
  CharUnits  getTypeUnadjustedAlignInChars (QualType T) const   getTypeUnadjustedAlignInChars - Return the ABI-specified alignment of a type, in characters, before alignment adjustments.
  CharUnits  getTypeUnadjustedAlignInChars (const Type *T) const   TypeInfoChars  getTypeInfoDataSizeInChars (QualType T) const   TypeInfoChars  getTypeInfoInChars (const Type *T) const   TypeInfoChars  getTypeInfoInChars (QualType T) const   bool  isAlignmentRequired (const Type *T) const   Determine if the alignment the type has was required using an alignment attribute.
  bool  isAlignmentRequired (QualType T) const   bool  isPromotableIntegerType (QualType T) const   More type predicates useful for type checking/promotion.
  unsigned  getPreferredTypeAlign (QualType T) const   Return the "preferred" alignment of the specified type T for the current target, in bits.
  unsigned  getPreferredTypeAlign (const Type *T) const   getPreferredTypeAlign - Return the "preferred" alignment of the specified type for the current target in bits.
  unsigned  getTargetDefaultAlignForAttributeAligned () const   Return the default alignment for attribute((aligned)) on this target, to be used if no alignment value is specified.
  unsigned  getAlignOfGlobalVar (QualType T, const VarDecl *VD) const   Return the alignment in bits that should be given to a global variable with type T.
  CharUnits  getAlignOfGlobalVarInChars (QualType T, const VarDecl *VD) const   Return the alignment in characters that should be given to a global variable with type T.
  unsigned  getMinGlobalAlignOfVar (uint64_t Size, const VarDecl *VD) const   Return the minimum alignement as specified by the target.
  CharUnits  getDeclAlign (const Decl *D, bool ForAlignof=false) const   Return a conservative estimate of the alignment of the specified decl D.
  CharUnits  getExnObjectAlignment () const   Return the alignment (in bytes) of the thrown exception object.
  const ASTRecordLayoutgetASTRecordLayout (const RecordDecl *D) const   Get or compute information about the layout of the specified record (struct/union/class) D, which indicates its size and field position information.
  const ASTRecordLayoutgetASTObjCInterfaceLayout (const ObjCInterfaceDecl *D) const   Get or compute information about the layout of the specified Objective-C interface.
  void  DumpRecordLayout (const RecordDecl *RD, raw_ostream &OS, bool Simple=false) const   const ASTRecordLayoutgetASTObjCImplementationLayout (const ObjCImplementationDecl *D) const   Get or compute information about the layout of the specified Objective-C implementation.
  const CXXMethodDeclgetCurrentKeyFunction (const CXXRecordDecl *RD)   Get our current best idea for the key function of the given record decl, or nullptr if there isn't one.
  void  setNonKeyFunction (const CXXMethodDecl *method)   Observe that the given method cannot be a key function.
  CharUnits  getOffsetOfBaseWithVBPtr (const CXXRecordDecl *RD) const   Loading virtual member pointers using the virtual inheritance model always results in an adjustment using the vbtable even if the index is zero.
  uint64_t  getFieldOffset (const ValueDecl *FD) const   Get the offset of a FieldDecl or IndirectFieldDecl, in bits.
  uint64_t  lookupFieldBitOffset (const ObjCInterfaceDecl *OID, const ObjCImplementationDecl *ID, const ObjCIvarDecl *Ivar) const   Get the offset of an ObjCIvarDecl in bits.
  CharUnits  getMemberPointerPathAdjustment (const APValue &MP) const   Find the 'this' offset for the member path in a pointer-to-member APValue.
  bool  isNearlyEmpty (const CXXRecordDecl *RD) const   VTableContextBasegetVTableContext ()   MangleContextcreateMangleContext (const TargetInfo *T=nullptr)   If T is null pointer, assume the target in ASTContext.
  MangleContextcreateDeviceMangleContext (const TargetInfo &T)   Creates a device mangle context to correctly mangle lambdas in a mixed architecture compile by setting the lambda mangling number source to the DeviceLambdaManglingNumber.
  void  DeepCollectObjCIvars (const ObjCInterfaceDecl *OI, bool leafClass, SmallVectorImpl< const ObjCIvarDecl * > &Ivars) const   DeepCollectObjCIvars - This routine first collects all declared, but not synthesized, ivars in super class and then collects all ivars, including those synthesized for current class.
  unsigned  CountNonClassIvars (const ObjCInterfaceDecl *OI) const   void  CollectInheritedProtocols (const Decl *CDecl, llvm::SmallPtrSet< ObjCProtocolDecl *, 8 > &Protocols)   CollectInheritedProtocols - Collect all protocols in current class and those inherited by it.
  bool  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)
  CanQualType  getCanonicalType (QualType T) const   Return the canonical (structural) type corresponding to the specified potentially non-canonical type T.
  const TypegetCanonicalType (const Type *T) const   CanQualType  getCanonicalParamType (QualType T) const   Return the canonical parameter type corresponding to the specific potentially non-canonical one.
  bool  hasSameType (QualType T1, QualType T2) const   Determine whether the given types T1 and T2 are equivalent.
  bool  hasSameType (const Type *T1, const Type *T2) const   bool  hasSameExpr (const Expr *X, const Expr *Y) const   Determine whether the given expressions X and Y are equivalent.
  QualType  getUnqualifiedArrayType (QualType T, Qualifiers &Quals) const   Return this type as a completely-unqualified array type, capturing the qualifiers in Quals.
  QualType  getUnqualifiedArrayType (QualType T) const   bool  hasSameUnqualifiedType (QualType T1, QualType T2) const   Determine whether the given types are equivalent after cvr-qualifiers have been removed.
  bool  hasSameNullabilityTypeQualifier (QualType SubT, QualType SuperT, bool IsParam) const   bool  ObjCMethodsAreEqual (const ObjCMethodDecl *MethodDecl, const ObjCMethodDecl *MethodImp)   bool  UnwrapSimilarTypes (QualType &T1, QualType &T2, bool AllowPiMismatch=true) const   Attempt to unwrap two types that may be similar (C++ [conv.qual]).
  void  UnwrapSimilarArrayTypes (QualType &T1, QualType &T2, bool AllowPiMismatch=true) const   Attempt to unwrap two types that may both be array types with the same bound (or both be array types of unknown bound) for the purpose of comparing the cv-decomposition of two types per C++ [conv.qual].
  bool  hasSimilarType (QualType T1, QualType T2) const   Determine if two types are similar, according to the C++ rules.
  bool  hasCvrSimilarType (QualType T1, QualType T2)   Determine if two types are similar, ignoring only CVR qualifiers.
  NestedNameSpecifiergetCanonicalNestedNameSpecifier (NestedNameSpecifier *NNS) const   Retrieves the "canonical" nested name specifier for a given nested name specifier.
  CallingConv  getDefaultCallingConvention (bool IsVariadic, bool IsCXXMethod, bool IsBuiltin=false) const   Retrieves the default calling convention for the current target.
  TemplateName  getCanonicalTemplateName (TemplateName Name, bool IgnoreDeduced=false) const   Retrieves the "canonical" template name that refers to a given template.
  bool  hasSameTemplateName (const TemplateName &X, const TemplateName &Y, bool IgnoreDeduced=false) const   Determine whether the given template names refer to the same template.
  bool  isSameEntity (const NamedDecl *X, const NamedDecl *Y) const   Determine whether the two declarations refer to the same entity.
  bool  isSameTemplateParameterList (const TemplateParameterList *X, const TemplateParameterList *Y) const   Determine whether two template parameter lists are similar enough that they may be used in declarations of the same template.
  bool  isSameTemplateParameter (const NamedDecl *X, const NamedDecl *Y) const   Determine whether two template parameters are similar enough that they may be used in declarations of the same template.
  bool  isSameConstraintExpr (const Expr *XCE, const Expr *YCE) const   Determine whether two 'requires' expressions are similar enough that they may be used in re-declarations.
  bool  isSameTypeConstraint (const TypeConstraint *XTC, const TypeConstraint *YTC) const   Determine whether two type contraint are similar enough that they could used in declarations of the same template.
  bool  isSameDefaultTemplateArgument (const NamedDecl *X, const NamedDecl *Y) const   Determine whether two default template arguments are similar enough that they may be used in declarations of the same template.
  TemplateArgument  getCanonicalTemplateArgument (const TemplateArgument &Arg) const   Retrieve the "canonical" template argument.
  const ArrayTypegetAsArrayType (QualType T) const   Type Query functions.
  const ConstantArrayTypegetAsConstantArrayType (QualType T) const   const VariableArrayTypegetAsVariableArrayType (QualType T) const   const IncompleteArrayTypegetAsIncompleteArrayType (QualType T) const   const DependentSizedArrayTypegetAsDependentSizedArrayType (QualType T) const   QualType  getBaseElementType (const ArrayType *VAT) const   Return the innermost element type of an array type.
  QualType  getBaseElementType (QualType QT) const   Return the innermost element type of a type (which needn't actually be an array type).
  uint64_t  getConstantArrayElementCount (const ConstantArrayType *CA) const   Return number of constant array elements.
  uint64_t  getArrayInitLoopExprElementCount (const ArrayInitLoopExpr *AILE) const   Return number of elements initialized in an ArrayInitLoopExpr.
  QualType  getAdjustedParameterType (QualType T) const   Perform adjustment on the parameter type of a function.
  QualType  getSignatureParameterType (QualType T) const   Retrieve the parameter type as adjusted for use in the signature of a function, decaying array and function types and removing top-level cv-qualifiers.
  QualType  getExceptionObjectType (QualType T) const   QualType  getArrayDecayedType (QualType T) const   Return the properly qualified result of decaying the specified array type to a pointer.
  QualType  getPromotedIntegerType (QualType PromotableType) const   Return the type that PromotableType will promote to: C99 6.3.1.1p2, assuming that PromotableType is a promotable integer type.
  Qualifiers::ObjCLifetime  getInnerObjCOwnership (QualType T) const   Recurses in pointer/array types until it finds an Objective-C retainable type and returns its ownership.
  QualType  isPromotableBitField (Expr *E) const   Whether this is a promotable bitfield reference according to C99 6.3.1.1p2, bullet 2 (and GCC extensions).
  int  getIntegerTypeOrder (QualType LHS, QualType RHS) const   Return the highest ranked integer type, see C99 6.3.1.8p1.
  int  getFloatingTypeOrder (QualType LHS, QualType RHS) const   Compare the rank of the two specified floating point types, ignoring the domain of the type (i.e.
  int  getFloatingTypeSemanticOrder (QualType LHS, QualType RHS) const   Compare the rank of two floating point types as above, but compare equal if both types have the same floating-point semantics on the target (i.e.
  unsigned  getTargetAddressSpace (LangAS AS) const   LangAS  getLangASForBuiltinAddressSpace (unsigned AS) const   uint64_t  getTargetNullPointerValue (QualType QT) const   Get target-dependent integer value for null pointer which is used for constant folding.
  bool  addressSpaceMapManglingFor (LangAS AS) const   bool  hasAnyFunctionEffects () const   FunctionProtoType::ExceptionSpecInfo  mergeExceptionSpecs (FunctionProtoType::ExceptionSpecInfo ESI1, FunctionProtoType::ExceptionSpecInfo ESI2, SmallVectorImpl< QualType > &ExceptionTypeStorage, bool AcceptDependent)   QualType  getCommonSugaredType (QualType X, QualType Y, bool Unqualified=false)   bool  typesAreCompatible (QualType T1, QualType T2, bool CompareUnqualified=false)   Compatibility predicates used to check assignment expressions.
  bool  propertyTypesAreCompatible (QualType, QualType)   bool  typesAreBlockPointerCompatible (QualType, QualType)   bool  isObjCIdType (QualType T) const   bool  isObjCClassType (QualType T) const   bool  isObjCSelType (QualType T) const   bool  ObjCQualifiedIdTypesAreCompatible (const ObjCObjectPointerType *LHS, const ObjCObjectPointerType *RHS, bool ForCompare)   ObjCQualifiedIdTypesAreCompatible - We know that one of lhs/rhs is an ObjCQualifiedIDType.
  bool  ObjCQualifiedClassTypesAreCompatible (const ObjCObjectPointerType *LHS, const ObjCObjectPointerType *RHS)   ObjCQualifiedClassTypesAreCompatible - compare Class<pr,...> and Class<pr1, ...>.
  bool  canAssignObjCInterfaces (const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT)   canAssignObjCInterfaces - Return true if the two interface types are compatible for assignment from RHS to LHS.
  bool  canAssignObjCInterfaces (const ObjCObjectType *LHS, const ObjCObjectType *RHS)   bool  canAssignObjCInterfacesInBlockPointer (const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT, bool BlockReturnType)   canAssignObjCInterfacesInBlockPointer - This routine is specifically written for providing type-safety for objective-c pointers used to pass/return arguments in block literals.
  bool  areComparableObjCPointerTypes (QualType LHS, QualType RHS)   QualType  areCommonBaseCompatible (const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT)   bool  canBindObjCObjectType (QualType To, QualType From)   QualType  mergeTypes (QualType, QualType, bool OfBlockPointer=false, bool Unqualified=false, bool BlockReturnType=false, bool IsConditionalOperator=false)   QualType  mergeFunctionTypes (QualType, QualType, bool OfBlockPointer=false, bool Unqualified=false, bool AllowCXX=false, bool IsConditionalOperator=false)   QualType  mergeFunctionParameterTypes (QualType, QualType, bool OfBlockPointer=false, bool Unqualified=false)   mergeFunctionParameterTypes - merge two types which appear as function parameter types
  QualType  mergeTransparentUnionType (QualType, QualType, bool OfBlockPointer=false, bool Unqualified=false)   mergeTransparentUnionType - if T is a transparent union type and a member of T is compatible with SubType, return the merged type, else return QualType()
  QualType  mergeObjCGCQualifiers (QualType, QualType)   mergeObjCGCQualifiers - This routine merges ObjC's GC attribute of 'LHS' and 'RHS' attributes and returns the merged version; including for function return types.
  bool  mergeExtParameterInfo (const FunctionProtoType *FirstFnType, const FunctionProtoType *SecondFnType, bool &CanUseFirst, bool &CanUseSecond, SmallVectorImpl< FunctionProtoType::ExtParameterInfo > &NewParamInfos)   This function merges the ExtParameterInfo lists of two functions.
  void  ResetObjCLayout (const ObjCContainerDecl *CD)   unsigned  getIntWidth (QualType T) const   QualType  getCorrespondingUnsignedType (QualType T) const   QualType  getCorrespondingSignedType (QualType T) const   QualType  getCorrespondingSaturatedType (QualType Ty) const   QualType  getCorrespondingUnsaturatedType (QualType Ty) const   QualType  getCorrespondingSignedFixedPointType (QualType Ty) const   llvm::APSInt  MakeIntValue (uint64_t Value, QualType Type) const   Make an APSInt of the appropriate width and signedness for the given Value and integer Type.
  bool  isSentinelNullExpr (const Expr *E)   ObjCImplementationDeclgetObjCImplementation (ObjCInterfaceDecl *D)   Get the implementation of the ObjCInterfaceDecl D, or nullptr if none exists.
  ObjCCategoryImplDeclgetObjCImplementation (ObjCCategoryDecl *D)   Get the implementation of the ObjCCategoryDecl D, or nullptr if none exists.
  bool  AnyObjCImplementation ()   Return true if there is at least one @implementation in the TU.
  void  setObjCImplementation (ObjCInterfaceDecl *IFaceD, ObjCImplementationDecl *ImplD)   Set the implementation of ObjCInterfaceDecl.
  void  setObjCImplementation (ObjCCategoryDecl *CatD, ObjCCategoryImplDecl *ImplD)   Set the implementation of ObjCCategoryDecl.
  const ObjCMethodDeclgetObjCMethodRedeclaration (const ObjCMethodDecl *MD) const   Get the duplicate declaration of a ObjCMethod in the same interface, or null if none exists.
  void  setObjCMethodRedeclaration (const ObjCMethodDecl *MD, const ObjCMethodDecl *Redecl)   const ObjCInterfaceDeclgetObjContainingInterface (const NamedDecl *ND) const   Returns the Objective-C interface that ND belongs to if it is an Objective-C method/property/ivar etc.
  void  setBlockVarCopyInit (const VarDecl *VD, Expr *CopyExpr, bool CanThrow)   Set the copy initialization expression of a block var decl.
  BlockVarCopyInit  getBlockVarCopyInit (const VarDecl *VD) const   Get the copy initialization expression of the VarDecl VD, or nullptr if none exists.
  TypeSourceInfoCreateTypeSourceInfo (QualType T, unsigned Size=0) const   Allocate an uninitialized TypeSourceInfo.
  TypeSourceInfogetTrivialTypeSourceInfo (QualType T, SourceLocation Loc=SourceLocation()) const   Allocate a TypeSourceInfo where all locations have been initialized to a given location, which defaults to the empty location.
  void  AddDeallocation (void(*Callback)(void *), void *Data) const   Add a deallocation callback that will be invoked when the ASTContext is destroyed.
  template<typename T > void  addDestruction (T *Ptr) const   If T isn't trivially destructible, calls AddDeallocation to register it for destruction.
  GVALinkage  GetGVALinkageForFunction (const FunctionDecl *FD) const   GVALinkage  GetGVALinkageForVariable (const VarDecl *VD) const   bool  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.
  void  forEachMultiversionedFunctionVersion (const FunctionDecl *FD, llvm::function_ref< void(FunctionDecl *)> Pred) const   Visits all versions of a multiversioned function with the passed predicate.
  const CXXConstructorDeclgetCopyConstructorForExceptionObject (CXXRecordDecl *RD)   void  addCopyConstructorForExceptionObject (CXXRecordDecl *RD, CXXConstructorDecl *CD)   void  addTypedefNameForUnnamedTagDecl (TagDecl *TD, TypedefNameDecl *TND)   TypedefNameDeclgetTypedefNameForUnnamedTagDecl (const TagDecl *TD)   void  addDeclaratorForUnnamedTagDecl (TagDecl *TD, DeclaratorDecl *DD)   DeclaratorDeclgetDeclaratorForUnnamedTagDecl (const TagDecl *TD)   void  setManglingNumber (const NamedDecl *ND, unsigned Number)   unsigned  getManglingNumber (const NamedDecl *ND, bool ForAuxTarget=false) const   void  setStaticLocalNumber (const VarDecl *VD, unsigned Number)   unsigned  getStaticLocalNumber (const VarDecl *VD) const   MangleNumberingContextgetManglingNumberContext (const DeclContext *DC)   Retrieve the context for computing mangling numbers in the given DeclContext.
  MangleNumberingContextgetManglingNumberContext (NeedExtraManglingDecl_t, const Decl *D)   std::unique_ptr< MangleNumberingContextcreateMangleNumberingContext () const   void  setParameterIndex (const ParmVarDecl *D, unsigned index)   Used by ParmVarDecl to store on the side the index of the parameter when it exceeds the size of the normal bitfield.
  unsigned  getParameterIndex (const ParmVarDecl *D) const   Used by ParmVarDecl to retrieve on the side the index of the parameter when it exceeds the size of the normal bitfield.
  StringLiteralgetPredefinedStringLiteralFromCache (StringRef Key) const   Return a string representing the human readable name for the specified function declaration or file name.
  unsigned  getNextStringLiteralVersion ()   Return the next version number to be used for a string literal evaluated as part of constant evaluation.
  MSGuidDeclgetMSGuidDecl (MSGuidDeclParts Parts) const   Return a declaration for the global GUID object representing the given GUID value.
  UnnamedGlobalConstantDeclgetUnnamedGlobalConstantDecl (QualType Ty, const APValue &Value) const   Return a declaration for a uniquified anonymous global constant corresponding to a given APValue.
  TemplateParamObjectDeclgetTemplateParamObjectDecl (QualType T, const APValue &V) const   Return the template parameter object of the given type with the given value.
  ParsedTargetAttr  filterFunctionTargetAttrs (const TargetAttr *TD) const   Parses the target attributes passed in, and returns only the ones that are valid feature names.
  void  getFunctionFeatureMap (llvm::StringMap< bool > &FeatureMap, const FunctionDecl *) const   void  getFunctionFeatureMap (llvm::StringMap< bool > &FeatureMap, GlobalDecl GD) const   void  registerSYCLEntryPointFunction (FunctionDecl *FD)   Generates and stores SYCL kernel metadata for the provided SYCL kernel entry point function.
  const SYCLKernelInfogetSYCLKernelInfo (QualType T) const   Given a type used as a SYCL kernel name, returns a reference to the metadata generated from the corresponding SYCL kernel entry point.
  const SYCLKernelInfofindSYCLKernelInfo (QualType T) const   Returns a pointer to the metadata generated from the corresponding SYCLkernel entry point if the provided type corresponds to a registered SYCL kernel name.
  void  InitBuiltinTypes (const TargetInfo &Target, const TargetInfo *AuxTarget=nullptr)   Initialize built-in types.
  void  getObjCEncodingForMethodParameter (Decl::ObjCDeclQualifier QT, QualType T, std::string &S, bool Extended) const   getObjCEncodingForMethodParameter - Return the encoded type for a single method parameter or return type.
  bool  isMSStaticDataMemberInlineDefinition (const VarDecl *VD) const   Returns true if this is an inline-initialized static data member which is treated as a definition for MSVC compatibility.
  InlineVariableDefinitionKind  getInlineVariableDefinitionKind (const VarDecl *VD) const   Determine whether a definition of this inline variable should be treated as a weak or strong definition.
  OMPTraitInfogetNewOMPTraitInfo ()   Return a new OMPTraitInfo object owned by this context.
  bool  mayExternalize (const Decl *D) const   Whether a C++ static variable or CUDA/HIP kernel may be externalized.
  bool  shouldExternalize (const Decl *D) const   Whether a C++ static variable or CUDA/HIP kernel should be externalized.
  const CXXRecordDeclbaseForVTableAuthentication (const CXXRecordDecl *ThisClass)   Resolve the root record to be used to derive the vtable pointer authentication policy for the specified record.
  bool  useAbbreviatedThunkName (GlobalDecl VirtualMethodDecl, StringRef MangledName)   StringRef  getCUIDHash () const   template<> DynTypedNodeList  getParents (const DynTypedNode &Node)  

Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic analysis of a file.

Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 188 of file ASTContext.h.

◆ import_range ◆ overridden_cxx_method_iterator ◆ overridden_method_range ◆ TemplateOrSpecializationInfo

A type synonym for the TemplateOrInstantiation mapping.

Definition at line 507 of file ASTContext.h.

◆ GetBuiltinTypeError Enumerator GE_None 

No error.

GE_Missing_type 

Missing a type.

GE_Missing_stdio 

Missing a type from <stdio.h>

GE_Missing_setjmp 

Missing a type from <setjmp.h>

GE_Missing_ucontext 

Missing a type from <ucontext.h>

Definition at line 2389 of file ASTContext.h.

◆ InlineVariableDefinitionKind Enumerator None 

Not an inline variable.

Weak 

Weak definition of inline variable.

WeakUnknown 

Weak for now, might become strong later in this TU.

Strong 

Strong 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_Invalid 

Definition 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 RawCommentRC ) ◆ addCopyConstructorForExceptionObject() ◆ AddDeallocation() void ASTContext::AddDeallocation ( void(*)(void *)  Callback, void *  Data  ) const

Add a deallocation callback that will be invoked when the ASTContext is destroyed.

Parameters
Callback A callback function that will be invoked on destruction. Data Pointer data that will be provided to the callback function when it is called.

Definition at line 985 of file ASTContext.cpp.

References clang::Data.

Referenced by addDestruction().

◆ addDeclaratorForUnnamedTagDecl() ◆ addDestruction() void clang::ASTContext::addDestruction ( TPtr ) const inline ◆ addedLocalImportDecl() void ASTContext::addedLocalImportDecl ( ImportDeclImport ) ◆ addLazyModuleInitializers() ◆ addModuleInitializer() void ASTContext::addModuleInitializer ( ModuleM, DeclInit  ) ◆ 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.

Parameters
allowOnPointerType specifies if we can apply protocol qualifiers on ObjCObjectPointerType. It can be set to true when constructing the canonical type of a Objective-C type parameter.

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.

Note
This ignores whether they are target-specific (AltiVec or Neon) types.

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 AtomicExprE ) const

Definition 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 inline

Definition 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 DeclOriginalD, const RawCommentComment  ) 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.

Parameters
T the type that will be the basis for type source info. This type should refer to how the declarator was written in source code, not to what type semantic analysis resolved the declarator to. Size the size of the type info to create, or 0 if the size should be calculated based on the type.

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 ( DeclListNodeN ) inline ◆ DeclMustBeEmitted() bool ASTContext::DeclMustBeEmitted ( const DeclD )

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.

Returns
true if the function/var must be CodeGen'ed/deserialized even if it is not used.

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 ( NamedDeclND ) ◆ DeepCollectObjCIvars() ◆ DumpRecordLayout() void ASTContext::DumpRecordLayout ( const RecordDeclRD, 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 DeclD ) ◆ filterFunctionTargetAttrs() ParsedTargetAttr ASTContext::filterFunctionTargetAttrs ( const TargetAttr *  TD ) const ◆ findSYCLKernelInfo() ◆ forEachMultiversionedFunctionVersion() void ASTContext::forEachMultiversionedFunctionVersion ( const FunctionDeclFD, 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 ArrayInitLoopExprAILE ) 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 inline

Return 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 ( ) const

Gets 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 ( ) const

Gets 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

<

typename

T>

struct X

{

typename T

*

type

; };

};

}

template<typename T> struct Y {

typename

N::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 TypeT ) 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 ( ) const

Objective-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 inline

Return 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.

Parameters
PP the Preprocessor used with this TU. Could be nullptr if preprocessor is not available.

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 ConstantArrayTypeCA ) 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.

Precondition
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, ExprBitsExpr  ) 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.

Precondition
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 ValueDeclFD ) 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 ) const

Definition 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 ) const

Return 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 FunctionDeclFD  ) 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 inline

Definition 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 ( QualTypePointeeTy ) const ◆ getLifetimeQualifiedType() ◆ getLocalCommentForDeclUncached() ◆ getLogicalOperationType() QualType clang::ASTContext::getLogicalOperationType ( ) const inline

The 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 APValueMP ) 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 VarDeclVD  ) 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 ( ) inline

Return 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 BlockExprblockExpr ) const

Return 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 FunctionDeclDecl ) 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 ObjCPropertyDeclPD, const DeclContainer  ) const

getObjCEncodingForPropertyDecl - 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 FieldDeclField = nullptr, QualTypeNotEncodedT = 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 inline

Represents 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 TypeT ) 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.

Parameters
NumExpansions The number of expansions for the pack, if known. ExpectPackInType If 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 CXXRecordDeclRD ) ◆ getPointerDiffType() QualType ASTContext::getPointerDiffType ( ) const

Return 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 TypeT ) const

getPreferredTypeAlign - 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 ( DeclD ) 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 ( ) const

Return 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 inline

Get 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 DeclD, const Decl **  OriginalDecl = nullptr  ) const

Return the documentation comment attached to a given declaration.

Returns nullptr if no comment is attached.

Parameters
OriginalDecl if not nullptr, is set to declaration AST node that had the comment, if the comment we found comes from a redeclaration.

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 DeclD ) const

Return 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()
Returns
searches 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 Expre ) const

getReferenceQualifiedType - 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 ( ) const

Return 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 inline

Definition 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 inline

Definition 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 TypeT ) 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 TypeT ) 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 TypeT ) const inline ◆ getTypeSize() [2/2] uint64_t clang::ASTContext::getTypeSize ( QualType  T ) const inline

Return 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 TypeT ) 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 TypeTy ) const inline ◆ getTypeSizeInCharsIfKnown() [2/2] std::optional< CharUnits > clang::ASTContext::getTypeSizeInCharsIfKnown ( QualType  Ty ) const inline ◆ getTypeUnadjustedAlign() [1/2] unsigned ASTContext::getTypeUnadjustedAlign ( const TypeT ) const ◆ getTypeUnadjustedAlign() [2/2] ◆ getTypeUnadjustedAlignInChars() [1/2] CharUnits ASTContext::getTypeUnadjustedAlignInChars ( const TypeT ) 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().

Parameters
T is the qualified type, which may be an ArrayType Quals will receive the full set of qualifiers that were applied to the array.
Returns
if this is an array type, the completely unqualified array type that corresponds to it. Otherwise, returns T.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.

Precondition
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 inline

Return 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 inline

In 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 ExprX, const ExprY  ) const ◆ hasSameFunctionTypeIgnoringExceptionSpec() ◆ hasSameFunctionTypeIgnoringParamABI() ◆ hasSameFunctionTypeIgnoringPtrSizes() ◆ hasSameNullabilityTypeQualifier() ◆ hasSameTemplateName() ◆ hasSameType() [1/2] bool clang::ASTContext::hasSameType ( const TypeT1, const TypeT2  ) 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 TargetInfoTarget, const TargetInfoAuxTarget = nullptr  )

Initialize built-in types.

This routine may only be invoked once for a given ASTContext object. It is normally invoked after ASTContext construction.

Parameters

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 TypeT ) const ◆ isAlignmentRequired() [2/2] ◆ isDependenceAllowed() bool clang::ASTContext::isDependenceAllowed ( ) const inline ◆ isInSameModule() ◆ isMSStaticDataMemberInlineDefinition() bool ASTContext::isMSStaticDataMemberInlineDefinition ( const VarDeclVD ) const

Returns 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 ( ExprE ) const

Whether this is a promotable bitfield reference according to C99 6.3.1.1p2, bullet 2 (and GCC extensions).

Returns
the type this bit-field will promote to, or NULL if no promotion occurs.

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 ) const

More 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 ExprXCE, const ExprYCE  ) 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 ExprE ) ◆ isTypeIgnoredBySanitizer() ◆ local_imports() ◆ lookupFieldBitOffset() ◆ MakeIntValue() llvm::APSInt clang::ASTContext::MakeIntValue ( uint64_t  Value, QualType  Type  ) const inline ◆ mayExternalize() bool ASTContext::mayExternalize ( const DeclD ) 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 ( ) const

Definition 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 ( FunctionDeclFD ) ◆ 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 VarDeclVD, ExprCopyExpr, bool  CanThrow  ) ◆ setBOOLDecl() void clang::ASTContext::setBOOLDecl ( TypedefDeclTD ) inline ◆ setCFConstantStringType() void ASTContext::setCFConstantStringType ( QualType  T ) ◆ setcudaConfigureCallDecl() void clang::ASTContext::setcudaConfigureCallDecl ( FunctionDeclFD ) inline ◆ setCurrentNamedModule() void ASTContext::setCurrentNamedModule ( ModuleM ) ◆ setExternalSource() ◆ setFILEDecl() void clang::ASTContext::setFILEDecl ( TypeDeclFILEDecl ) inline ◆ setInstantiatedFromStaticDataMember() ◆ setInstantiatedFromUnnamedFieldDecl() void ASTContext::setInstantiatedFromUnnamedFieldDecl ( FieldDeclInst, FieldDeclTmpl  ) ◆ setInstantiatedFromUsingDecl() ◆ setInstantiatedFromUsingEnumDecl() ◆ setInstantiatedFromUsingShadowDecl() ◆ setjmp_bufDecl() void clang::ASTContext::setjmp_bufDecl ( TypeDecljmp_bufDecl ) inline ◆ setManglingNumber() ◆ setNonKeyFunction() void ASTContext::setNonKeyFunction ( const CXXMethodDeclmethod ) ◆ 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 ( DeclD, DeclPrimary  ) inline ◆ setPrintingPolicy() ◆ setsigjmp_bufDecl() void clang::ASTContext::setsigjmp_bufDecl ( TypeDeclsigjmp_bufDecl ) inline ◆ setStaticLocalNumber() void ASTContext::setStaticLocalNumber ( const VarDeclVD, unsigned  Number  ) ◆ setTemplateOrSpecializationInfo() ◆ setTraversalScope() void ASTContext::setTraversalScope ( const std::vector< Decl * > &  TopLevelDecls ) ◆ setucontext_tDecl() void clang::ASTContext::setucontext_tDecl ( TypeDeclucontext_tDecl ) inline ◆ shouldExternalize() bool ASTContext::shouldExternalize ( const DeclD ) const ◆ toBits() int64_t ASTContext::toBits ( CharUnits  CharSize ) const

Convert 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 ) const

Convert 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.

Parameters
AllowPiMismatch Allow the Pi1 and Pi2 to differ as described in C++20 [conv.qual], if permitted by the current language mode.
Returns
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 ◆ BoolTy

Definition 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().

◆ BoundMemberTy

Definition 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 ◆ BuiltinInfo

Definition 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 ◆ CharTy

Definition 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 mutable

Keeps 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::CUDADeviceVarODRUsedByHost

Keep 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 ◆ DeclarationNames

Definition 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 ◆ DependentTy

Definition 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().

◆ DoubleTy

Definition 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 ◆ FloatTy

Definition 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 ◆ HalfTy

Definition 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 ◆ Idents

Definition 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 ◆ IntTy

Definition 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 ◆ LongDoubleTy

Definition 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 ◆ LongLongTy

Definition 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().

◆ LongTy

Definition 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 ◆ OverloadTy

Definition 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 ◆ Selectors

Definition 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 ◆ ShortTy

Definition 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 ◆ UnknownAnyTy

Definition 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 ◆ UnsignedCharTy

Definition 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 ◆ UnsignedIntTy

Definition 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 ◆ UnsignedLongLongTy

Definition 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().

◆ UnsignedLongTy

Definition 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 ◆ UnsignedShortTy

Definition 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 ◆ VoidPtrTy

Definition 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().

◆ VoidTy

Definition 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 ◆ WIntTy

The 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