clang
19.0.0git
|
#include "clang/AST/ASTContext.h"
#include "CXXABI.h"
#include "Interp/Context.h"
#include "clang/AST/APValue.h"
#include "clang/AST/ASTConcept.h"
#include "clang/AST/ASTMutationListener.h"
#include "clang/AST/ASTTypeTraits.h"
#include "clang/AST/Attr.h"
#include "clang/AST/AttrIterator.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/Comment.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclContextInternals.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclOpenMP.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/DependenceFlags.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprConcepts.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/Mangle.h"
#include "clang/AST/MangleNumberingContext.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/ParentMapContext.h"
#include "clang/AST/RawCommentList.h"
#include "clang/AST/RecordLayout.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/StmtOpenACC.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/TemplateName.h"
#include "clang/AST/Type.h"
#include "clang/AST/TypeLoc.h"
#include "clang/AST/UnresolvedSet.h"
#include "clang/AST/VTableBuilder.h"
#include "clang/Basic/AddressSpaces.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/CommentOptions.h"
#include "clang/Basic/ExceptionSpecificationType.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/Linkage.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/NoSanitizeList.h"
#include "clang/Basic/ObjCRuntime.h"
#include "clang/Basic/ProfileList.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Basic/TargetCXXABI.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/XRayLists.h"
#include "llvm/ADT/APFixedPoint.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Frontend/OpenMP/OMPIRBuilder.h"
#include "llvm/Support/Capacity.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MD5.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/Triple.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <tuple>
#include <utility>
#include "clang/AST/TypeNodes.inc"
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/OpenCLExtensionTypes.def"
#include "clang/Basic/AArch64SVEACLETypes.def"
#include "clang/Basic/PPCTypes.def"
#include "clang/Basic/RISCVVTypes.def"
#include "clang/Basic/WebAssemblyReferenceTypes.def"
#include "clang/AST/BuiltinTypes.def"
Go to the source code of this file.
Macros | |
#define | TYPE(Name, Parent) 0, |
#define | ABSTRACT_TYPE(Name, Parent) |
#define | TYPE(Name, Parent) |
#define | ABSTRACT_TYPE(Name, Parent) |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) InitBuiltinType(SingletonId, BuiltinType::Id); |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) InitBuiltinType(Sampled##SingletonId, BuiltinType::Sampled##Id); |
#define | IMAGE_WRITE_TYPE(Type, Id, Ext) |
#define | IMAGE_READ_WRITE_TYPE(Type, Id, Ext) |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define | SVE_TYPE(Name, Id, SingletonId) InitBuiltinType(SingletonId, BuiltinType::Id); |
#define | PPC_VECTOR_MMA_TYPE(Name, Id, Size) InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define | PPC_VECTOR_VSX_TYPE(Name, Id, Size) InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define | RVV_TYPE(Name, Id, SingletonId) InitBuiltinType(SingletonId, BuiltinType::Id); |
#define | WASM_TYPE(Name, Id, SingletonId) InitBuiltinType(SingletonId, BuiltinType::Id); |
#define | TYPE(Class, Base) |
#define | ABSTRACT_TYPE(Class, Base) |
#define | NON_CANONICAL_TYPE(Class, Base) |
#define | DEPENDENT_TYPE(Class, Base) case Type::Class: |
#define | NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) case BuiltinType::Id: |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) case BuiltinType::Sampled##Id: |
#define | IMAGE_WRITE_TYPE(Type, Id, Ext) |
#define | IMAGE_READ_WRITE_TYPE(Type, Id, Ext) |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) case BuiltinType::Id: |
#define | SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId, NumEls, ElBits, IsSigned, IsFP, IsBF) |
#define | SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId, NumEls) |
#define | SVE_OPAQUE_TYPE(Name, MangledName, Id, SingletonId) |
#define | PPC_VECTOR_TYPE(Name, Id, Size) |
#define | RVV_VECTOR_TYPE(Name, Id, SingletonId, ElKind, ElBits, NF, IsSigned, IsFP, IsBF) |
#define | RVV_PREDICATE_TYPE(Name, Id, SingletonId, ElKind) |
#define | WASM_TYPE(Name, Id, SingletonId) |
#define | TYPE(Class, Base) |
#define | ABSTRACT_TYPE(Class, Base) |
#define | NON_CANONICAL_TYPE(Class, Base) case Type::Class: |
#define | SVE_INT_ELTTY(BITS, ELTS, SIGNED, NUMVECTORS) |
#define | SVE_ELTTY(ELTTY, ELTS, NUMVECTORS) {ELTTY, llvm::ElementCount::getScalable(ELTS), NUMVECTORS}; |
#define | RVV_VECTOR_TYPE_INT(Name, Id, SingletonId, NumEls, ElBits, NF, IsSigned) |
#define | RVV_VECTOR_TYPE_FLOAT(Name, Id, SingletonId, NumEls, ElBits, NF) |
#define | RVV_VECTOR_TYPE_BFLOAT(Name, Id, SingletonId, NumEls, ElBits, NF) |
#define | RVV_PREDICATE_TYPE(Name, Id, SingletonId, NumEls) |
#define | WASM_REF_TYPE(Name, MangledName, Id, SingletonId, AS) |
#define | SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId, NumEls, ElBits, IsSigned, IsFP, IsBF) |
#define | SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId, NumEls) |
#define | SVE_OPAQUE_TYPE(Name, MangledName, Id, SingleTonId) |
#define | RVV_VECTOR_TYPE(Name, Id, SingletonId, NumEls, ElBits, NF, IsSigned, IsFP, IsBF) |
#define | RVV_PREDICATE_TYPE(Name, Id, SingletonId, NumEls) |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) |
#define | IMAGE_WRITE_TYPE(Type, Id, Ext) |
#define | IMAGE_READ_WRITE_TYPE(Type, Id, Ext) |
#define | SVE_TYPE(Name, Id, SingletonId) case BuiltinType::Id: |
#define | RVV_TYPE(Name, Id, SingletonId) case BuiltinType::Id: |
#define | WASM_TYPE(Name, Id, SingletonId) case BuiltinType::Id: |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) case BuiltinType::Id: |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) case BuiltinType::Sampled##Id: |
#define | IMAGE_WRITE_TYPE(Type, Id, Ext) |
#define | IMAGE_READ_WRITE_TYPE(Type, Id, Ext) |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) case BuiltinType::Id: |
#define | PPC_VECTOR_TYPE(Name, Id, Size) case BuiltinType::Id: |
#define | BUILTIN_TYPE(KIND, ID) |
#define | PLACEHOLDER_TYPE(KIND, ID) case BuiltinType::KIND: |
#define | ABSTRACT_TYPE(KIND, BASE) |
#define | TYPE(KIND, BASE) |
#define | DEPENDENT_TYPE(KIND, BASE) case Type::KIND: |
#define | NON_CANONICAL_TYPE(KIND, BASE) case Type::KIND: |
#define | NON_CANONICAL_UNLESS_DEPENDENT_TYPE(KIND, BASE) case Type::KIND: |
#define | TYPE(Class, Base) |
#define | ABSTRACT_TYPE(Class, Base) |
#define | NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class: |
#define | NON_CANONICAL_TYPE(Class, Base) case Type::Class: |
#define | DEPENDENT_TYPE(Class, Base) case Type::Class: |
#define | UNEXPECTED_TYPE(Class, Kind) |
#define | NON_CANONICAL_TYPE(Class, Base) UNEXPECTED_TYPE(Class, "non-canonical") |
#define | TYPE(Class, Base) |
#define | SUGAR_FREE_TYPE(Class) UNEXPECTED_TYPE(Class, "sugar-free") |
#define | NON_UNIQUE_TYPE(Class) UNEXPECTED_TYPE(Class, "non-unique") |
#define | UNEXPECTED_TYPE(Class, Kind) |
#define | TYPE(Class, Base) |
#define | DEPENDENT_TYPE(Class, Base) UNEXPECTED_TYPE(Class, "dependent") |
#define | CANONICAL_TYPE(Class) UNEXPECTED_TYPE(Class, "canonical") |
Enumerations | |
enum | FloatingRank { BFloat16Rank , Float16Rank , HalfRank , FloatRank , DoubleRank , LongDoubleRank , Float128Rank , Ibm128Rank } |
Functions | |
static SmallVector< SourceLocation, 2 > | getDeclLocsForCommentSearch (const Decl *D, SourceManager &SourceMgr) |
static const Decl & | adjustDeclToTemplate (const Decl &D) |
If we have a 'templated' declaration for a template, adjust 'D' to refer to the actual template. More... | |
static void | addRedeclaredMethods (const ObjCMethodDecl *ObjCMethod, SmallVectorImpl< const NamedDecl * > &Redeclared) |
static bool | isAddrSpaceMapManglingEnabled (const TargetInfo &TI, const LangOptions &LangOpts) |
static TypeInfoChars | getConstantArrayInfoInChars (const ASTContext &Context, const ConstantArrayType *CAT) |
getConstantArrayInfoInChars - Performing the computation in CharUnits instead of in bits prevents overflowing the uint64_t for some large arrays. More... | |
static bool | unionHasUniqueObjectRepresentations (const ASTContext &Context, const RecordDecl *RD, bool CheckIfTriviallyCopyable) |
static int64_t | getSubobjectOffset (const FieldDecl *Field, const ASTContext &Context, const clang::ASTRecordLayout &) |
static int64_t | getSubobjectOffset (const CXXRecordDecl *RD, const ASTContext &Context, const clang::ASTRecordLayout &Layout) |
static std::optional< int64_t > | structHasUniqueObjectRepresentations (const ASTContext &Context, const RecordDecl *RD, bool CheckIfTriviallyCopyable) |
static std::optional< int64_t > | getSubobjectSizeInBits (const FieldDecl *Field, const ASTContext &Context, bool CheckIfTriviallyCopyable) |
static std::optional< int64_t > | getSubobjectSizeInBits (const CXXRecordDecl *RD, const ASTContext &Context, bool CheckIfTriviallyCopyable) |
template<typename RangeT > | |
static std::optional< int64_t > | structSubobjectsHaveUniqueObjectRepresentations (const RangeT &Subobjects, int64_t CurOffsetInBits, const ASTContext &Context, const clang::ASTRecordLayout &Layout, bool CheckIfTriviallyCopyable) |
static auto | getCanonicalTemplateArguments (const ASTContext &C, ArrayRef< TemplateArgument > Args, bool &AnyNonCanonArgs) |
static bool | isCanonicalResultType (QualType T) |
Determine whether T is canonical as the result type of a function. More... | |
static bool | isCanonicalExceptionSpecification (const FunctionProtoType::ExceptionSpecInfo &ESI, bool NoexceptInType) |
static bool | NeedsInjectedClassNameType (const RecordDecl *D) |
static bool | hasAnyPackExpansions (ArrayRef< TemplateArgument > Args) |
static int | CmpProtocolNames (ObjCProtocolDecl *const *LHS, ObjCProtocolDecl *const *RHS) |
CmpProtocolNames - Comparison predicate for sorting protocols alphabetically. More... | |
static bool | areSortedAndUniqued (ArrayRef< ObjCProtocolDecl * > Protocols) |
static void | SortAndUniqueProtocols (SmallVectorImpl< ObjCProtocolDecl * > &Protocols) |
static NamespaceDecl * | getNamespace (const NestedNameSpecifier *X) |
static bool | isSameQualifier (const NestedNameSpecifier *X, const NestedNameSpecifier *Y) |
static bool | hasSameOverloadableAttrs (const FunctionDecl *A, const FunctionDecl *B) |
Determine whether the attributes we can overload on are identical for A and B. More... | |
static FloatingRank | getFloatingRank (QualType T) |
getFloatingRank - Return a relative rank for floating point types. More... | |
static const Type * | getIntegerTypeForEnum (const EnumType *ET) |
static bool | isTypeTypedefedAsBOOL (QualType T) |
static std::string | charUnitsToString (const CharUnits &CU) |
static char | getObjCEncodingForPrimitiveType (const ASTContext *C, const BuiltinType *BT) |
static char | ObjCEncodingForEnumType (const ASTContext *C, const EnumType *ET) |
static void | EncodeBitField (const ASTContext *Ctx, std::string &S, QualType T, const FieldDecl *FD) |
static bool | hasTemplateSpecializationInEncodedString (const Type *T, bool VisitBasesAndFields) |
static TypedefDecl * | CreateCharPtrNamedVaListDecl (const ASTContext *Context, StringRef Name) |
static TypedefDecl * | CreateMSVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateCharPtrBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateVoidPtrBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateAArch64ABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreatePowerABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateX86_64ABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreatePNaClABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateAAPCSABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateSystemZBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateHexagonBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateVaListDecl (const ASTContext *Context, TargetInfo::BuiltinVaListKind Kind) |
static bool | areCompatVectorTypes (const VectorType *LHS, const VectorType *RHS) |
areCompatVectorTypes - Return true if the two specified vector types are compatible. More... | |
static bool | areCompatMatrixTypes (const ConstantMatrixType *LHS, const ConstantMatrixType *RHS) |
areCompatMatrixTypes - Return true if the two specified matrix types are compatible. More... | |
static uint64_t | getSVETypeSize (ASTContext &Context, const BuiltinType *Ty) |
getSVETypeSize - Return SVE vector or predicate register size. More... | |
static uint64_t | getRVVTypeSize (ASTContext &Context, const BuiltinType *Ty) |
getRVVTypeSize - Return RVV vector register size. More... | |
static int | compareObjCProtocolsByName (ObjCProtocolDecl *const *lhs, ObjCProtocolDecl *const *rhs) |
Comparison routine for Objective-C protocols to be used with llvm::array_pod_sort. More... | |
static void | getIntersectionOfProtocols (ASTContext &Context, const ObjCInterfaceDecl *CommonBase, const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT, SmallVectorImpl< ObjCProtocolDecl * > &IntersectionSet) |
getIntersectionOfProtocols - This routine finds the intersection of set of protocols inherited from two distinct objective-c pointer objects with the given common base. More... | |
static bool | canAssignObjCObjectTypes (ASTContext &ctx, QualType lhs, QualType rhs) |
Determine whether the first type is a subtype of the second. More... | |
static bool | sameObjCTypeArgs (ASTContext &ctx, const ObjCInterfaceDecl *iface, ArrayRef< QualType > lhsArgs, ArrayRef< QualType > rhsArgs, bool stripKindOf) |
static QualType | mergeEnumWithInteger (ASTContext &Context, const EnumType *ET, QualType other, bool isBlockReturnType) |
Given that we have an enum type and a non-enum type, try to merge them. More... | |
static QualType | DecodeTypeFromStr (const char *&Str, const ASTContext &Context, ASTContext::GetBuiltinTypeError &Error, bool &RequiresICE, bool AllowTypeModifiers) |
DecodeTypeFromStr - This decodes one type descriptor from Str, advancing the pointer over the consumed characters. More... | |
static GVALinkage | basicGVALinkageForFunction (const ASTContext &Context, const FunctionDecl *FD) |
static GVALinkage | adjustGVALinkageForAttributes (const ASTContext &Context, const Decl *D, GVALinkage L) |
static GVALinkage | adjustGVALinkageForExternalDefinitionKind (const ASTContext &Ctx, const Decl *D, GVALinkage L) |
Adjust the GVALinkage for a declaration based on what an external AST source knows about whether there can be other definitions of this declaration. More... | |
static GVALinkage | basicGVALinkageForVariable (const ASTContext &Context, const VarDecl *VD) |
static Decl * | getCommonDecl (Decl *X, Decl *Y) |
template<class T , std::enable_if_t< std::is_base_of_v< Decl, T >, bool > = true> | |
static T * | getCommonDecl (T *X, T *Y) |
template<class T , std::enable_if_t< std::is_base_of_v< Decl, T >, bool > = true> | |
static T * | getCommonDeclChecked (T *X, T *Y) |
static TemplateName | getCommonTemplateName (ASTContext &Ctx, TemplateName X, TemplateName Y) |
static TemplateName | getCommonTemplateNameChecked (ASTContext &Ctx, TemplateName X, TemplateName Y) |
static auto | getCommonTypes (ASTContext &Ctx, ArrayRef< QualType > Xs, ArrayRef< QualType > Ys, bool Unqualified=false) |
template<class T > | |
static SourceLocation | getCommonAttrLoc (const T *X, const T *Y) |
static TemplateArgument | getCommonTemplateArgument (ASTContext &Ctx, const TemplateArgument &X, const TemplateArgument &Y) |
static bool | getCommonTemplateArguments (ASTContext &Ctx, SmallVectorImpl< TemplateArgument > &R, ArrayRef< TemplateArgument > Xs, ArrayRef< TemplateArgument > Ys) |
static auto | getCommonTemplateArguments (ASTContext &Ctx, ArrayRef< TemplateArgument > Xs, ArrayRef< TemplateArgument > Ys) |
template<class T > | |
static ElaboratedTypeKeyword | getCommonTypeKeyword (const T *X, const T *Y) |
template<class T > | |
static NestedNameSpecifier * | getCommonNNS (ASTContext &Ctx, const T *X, const T *Y) |
template<class T > | |
static QualType | getCommonElementType (ASTContext &Ctx, const T *X, const T *Y) |
template<class T > | |
static QualType | getCommonArrayElementType (ASTContext &Ctx, const T *X, Qualifiers &QX, const T *Y, Qualifiers &QY) |
template<class T > | |
static QualType | getCommonPointeeType (ASTContext &Ctx, const T *X, const T *Y) |
template<class T > | |
static auto * | getCommonSizeExpr (ASTContext &Ctx, T *X, T *Y) |
static auto | getCommonSizeModifier (const ArrayType *X, const ArrayType *Y) |
static auto | getCommonIndexTypeCVRQualifiers (const ArrayType *X, const ArrayType *Y) |
static void | mergeTypeLists (ASTContext &Ctx, SmallVectorImpl< QualType > &Out, ArrayRef< QualType > X, ArrayRef< QualType > Y) |
static QualType | getCommonNonSugarTypeNode (ASTContext &Ctx, const Type *X, Qualifiers &QX, const Type *Y, Qualifiers &QY) |
static QualType | getCommonSugarTypeNode (ASTContext &Ctx, const Type *X, const Type *Y, SplitQualType Underlying) |
static auto | unwrapSugar (SplitQualType &T, Qualifiers &QTotal) |
#define ABSTRACT_TYPE | ( | Class, | |
Base | |||
) |
#define ABSTRACT_TYPE | ( | Class, | |
Base | |||
) |
#define ABSTRACT_TYPE | ( | Class, | |
Base | |||
) |
#define ABSTRACT_TYPE | ( | KIND, | |
BASE | |||
) |
#define ABSTRACT_TYPE | ( | Name, | |
Parent | |||
) |
#define ABSTRACT_TYPE | ( | Name, | |
Parent | |||
) |
#define BUILTIN_TYPE | ( | KIND, | |
ID | |||
) |
#define CANONICAL_TYPE | ( | Class | ) | UNEXPECTED_TYPE(Class, "canonical") |
#define DEPENDENT_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define DEPENDENT_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define DEPENDENT_TYPE | ( | Class, | |
Base | |||
) | UNEXPECTED_TYPE(Class, "dependent") |
#define DEPENDENT_TYPE | ( | KIND, | |
BASE | |||
) | case Type::KIND: |
#define EXT_OPAQUE_TYPE | ( | ExtType, | |
Id, | |||
Ext | |||
) | InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define EXT_OPAQUE_TYPE | ( | ExtType, | |
Id, | |||
Ext | |||
) | case BuiltinType::Id: |
#define EXT_OPAQUE_TYPE | ( | ExtType, | |
Id, | |||
Ext | |||
) | case BuiltinType::Id: |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | InitBuiltinType(SingletonId, BuiltinType::Id); |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | InitBuiltinType(Sampled##SingletonId, BuiltinType::Sampled##Id); |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | case BuiltinType::Id: |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | case BuiltinType::Sampled##Id: |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | case BuiltinType::Id: |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | case BuiltinType::Sampled##Id: |
#define NON_CANONICAL_TYPE | ( | Class, | |
Base | |||
) |
#define NON_CANONICAL_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define NON_CANONICAL_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define NON_CANONICAL_TYPE | ( | Class, | |
Base | |||
) | UNEXPECTED_TYPE(Class, "non-canonical") |
#define NON_CANONICAL_TYPE | ( | KIND, | |
BASE | |||
) | case Type::KIND: |
#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | Class, | |
Base | |||
) |
#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | KIND, | |
BASE | |||
) | case Type::KIND: |
#define NON_UNIQUE_TYPE | ( | Class | ) | UNEXPECTED_TYPE(Class, "non-unique") |
#define PLACEHOLDER_TYPE | ( | KIND, | |
ID | |||
) | case BuiltinType::KIND: |
#define PPC_VECTOR_MMA_TYPE | ( | Name, | |
Id, | |||
Size | |||
) | InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define PPC_VECTOR_TYPE | ( | Name, | |
Id, | |||
Size | |||
) |
#define PPC_VECTOR_TYPE | ( | Name, | |
Id, | |||
Size | |||
) | case BuiltinType::Id: |
#define PPC_VECTOR_VSX_TYPE | ( | Name, | |
Id, | |||
Size | |||
) | InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define RVV_PREDICATE_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
ElKind | |||
) |
#define RVV_PREDICATE_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls | |||
) |
#define RVV_PREDICATE_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls | |||
) |
#define RVV_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | InitBuiltinType(SingletonId, BuiltinType::Id); |
#define RVV_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | case BuiltinType::Id: |
#define RVV_VECTOR_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
ElKind, | |||
ElBits, | |||
NF, | |||
IsSigned, | |||
IsFP, | |||
IsBF | |||
) |
#define RVV_VECTOR_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
NF, | |||
IsSigned, | |||
IsFP, | |||
IsBF | |||
) |
#define RVV_VECTOR_TYPE_BFLOAT | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
NF | |||
) |
#define RVV_VECTOR_TYPE_FLOAT | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
NF | |||
) |
#define RVV_VECTOR_TYPE_INT | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
NF, | |||
IsSigned | |||
) |
#define SUGAR_FREE_TYPE | ( | Class | ) | UNEXPECTED_TYPE(Class, "sugar-free") |
#define SVE_ELTTY | ( | ELTTY, | |
ELTS, | |||
NUMVECTORS | |||
) | {ELTTY, llvm::ElementCount::getScalable(ELTS), NUMVECTORS}; |
#define SVE_INT_ELTTY | ( | BITS, | |
ELTS, | |||
SIGNED, | |||
NUMVECTORS | |||
) |
#define SVE_OPAQUE_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId | |||
) |
#define SVE_OPAQUE_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingleTonId | |||
) |
#define SVE_PREDICATE_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId, | |||
NumEls | |||
) |
#define SVE_PREDICATE_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId, | |||
NumEls | |||
) |
#define SVE_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | InitBuiltinType(SingletonId, BuiltinType::Id); |
#define SVE_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | case BuiltinType::Id: |
#define SVE_VECTOR_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
IsSigned, | |||
IsFP, | |||
IsBF | |||
) |
#define SVE_VECTOR_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
IsSigned, | |||
IsFP, | |||
IsBF | |||
) |
#define TYPE | ( | Class, | |
Base | |||
) |
#define TYPE | ( | Class, | |
Base | |||
) |
#define TYPE | ( | Class, | |
Base | |||
) |
#define TYPE | ( | Class, | |
Base | |||
) |
#define TYPE | ( | Class, | |
Base | |||
) |
#define TYPE | ( | KIND, | |
BASE | |||
) |
#define TYPE | ( | Name, | |
Parent | |||
) | 0, |
#define TYPE | ( | Name, | |
Parent | |||
) |
#define UNEXPECTED_TYPE | ( | Class, | |
Kind | |||
) |
#define UNEXPECTED_TYPE | ( | Class, | |
Kind | |||
) |
#define WASM_REF_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId, | |||
AS | |||
) |
#define WASM_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | InitBuiltinType(SingletonId, BuiltinType::Id); |
#define WASM_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) |
#define WASM_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | case BuiltinType::Id: |
enum FloatingRank |
Enumerator | |
---|---|
BFloat16Rank | |
Float16Rank | |
HalfRank | |
FloatRank | |
DoubleRank | |
LongDoubleRank | |
Float128Rank | |
Ibm128Rank |
Definition at line 105 of file ASTContext.cpp.
|
static |
Definition at line 479 of file ASTContext.cpp.
References clang::Decl::getDeclContext(), clang::ObjCMethodDecl::getSelector(), ID, and clang::ObjCMethodDecl::isInstanceMethod().
Referenced by clang::ASTContext::getCommentForDecl().
If we have a 'templated' declaration for a template, adjust 'D' to refer to the actual template.
If we have an implicit instantiation, adjust 'D' to refer to template.
Definition at line 335 of file ASTContext.cpp.
References clang::EnumDecl::getInstantiatedFromMemberEnum(), clang::FunctionDecl::getInstantiatedFromMemberFunction(), clang::VarDecl::getInstantiatedFromStaticDataMember(), clang::ClassTemplateSpecializationDecl::getSpecializedTemplateOrPartial(), and clang::TSK_ImplicitInstantiation.
Referenced by clang::ASTContext::attachCommentsToJustParsedDecls(), clang::ASTContext::getCommentForDecl(), and clang::ASTContext::getRawCommentForAnyRedecl().
|
static |
Definition at line 11809 of file ASTContext.cpp.
Referenced by clang::ASTContext::GetGVALinkageForFunction(), and clang::ASTContext::GetGVALinkageForVariable().
|
static |
Adjust the GVALinkage for a declaration based on what an external AST source knows about whether there can be other definitions of this declaration.
Definition at line 11844 of file ASTContext.cpp.
References clang::ExternalASTSource::EK_Always, clang::ExternalASTSource::EK_Never, clang::ExternalASTSource::EK_ReplyHazy, clang::ASTContext::getExternalSource(), clang::GVA_AvailableExternally, clang::GVA_DiscardableODR, clang::GVA_StrongODR, and clang::ExternalASTSource::hasExternalDefinitions().
Referenced by clang::ASTContext::GetGVALinkageForFunction(), and clang::ASTContext::GetGVALinkageForVariable().
|
static |
areCompatMatrixTypes - Return true if the two specified matrix types are compatible.
Definition at line 9534 of file ASTContext.cpp.
References clang::MatrixType::getElementType(), clang::ConstantMatrixType::getNumColumns(), clang::ConstantMatrixType::getNumRows(), and clang::Type::isCanonicalUnqualified().
Referenced by clang::ASTContext::mergeTypes().
|
static |
areCompatVectorTypes - Return true if the two specified vector types are compatible.
Definition at line 9525 of file ASTContext.cpp.
References clang::VectorType::getElementType(), clang::VectorType::getNumElements(), and clang::Type::isCanonicalUnqualified().
Referenced by clang::ASTContext::mergeTypes().
|
static |
Definition at line 5336 of file ASTContext.cpp.
References CmpProtocolNames(), and getCanonicalDecl().
Referenced by clang::ASTContext::getObjCObjectType().
|
static |
Definition at line 11740 of file ASTContext.cpp.
Referenced by clang::ASTContext::GetGVALinkageForFunction(), and clang::ASTContext::mayExternalize().
|
static |
Definition at line 11872 of file ASTContext.cpp.
Referenced by clang::ASTContext::GetGVALinkageForVariable(), and clang::ASTContext::mayExternalize().
|
static |
Determine whether the first type is a subtype of the second.
Definition at line 10102 of file ASTContext.cpp.
References clang::ASTContext::canAssignObjCInterfaces(), clang::Type::getAs(), clang::ObjCObjectPointerType::isObjCIdType(), and clang::ASTContext::typesAreBlockPointerCompatible().
Referenced by sameObjCTypeArgs().
|
static |
Definition at line 7777 of file ASTContext.cpp.
References clang::CharUnits::getQuantity().
|
static |
CmpProtocolNames - Comparison predicate for sorting protocols alphabetically.
Definition at line 5331 of file ASTContext.cpp.
References clang::DeclarationName::compare().
Referenced by areSortedAndUniqued(), and SortAndUniqueProtocols().
|
static |
Comparison routine for Objective-C protocols to be used with llvm::array_pod_sort.
Definition at line 10034 of file ASTContext.cpp.
|
static |
Definition at line 9081 of file ASTContext.cpp.
|
static |
Definition at line 8894 of file ASTContext.cpp.
|
static |
Definition at line 8883 of file ASTContext.cpp.
|
static |
Definition at line 8872 of file ASTContext.cpp.
|
static |
Definition at line 9176 of file ASTContext.cpp.
|
static |
Definition at line 8879 of file ASTContext.cpp.
Referenced by clang::ASTContext::getBuiltinMSVaListDecl().
|
static |
Definition at line 9072 of file ASTContext.cpp.
|
static |
Definition at line 8956 of file ASTContext.cpp.
|
static |
Definition at line 9122 of file ASTContext.cpp.
|
static |
Definition at line 9227 of file ASTContext.cpp.
Referenced by clang::ASTContext::getBuiltinVaListDecl().
|
static |
Definition at line 8887 of file ASTContext.cpp.
|
static |
Definition at line 9019 of file ASTContext.cpp.
|
static |
DecodeTypeFromStr - This decodes one type descriptor from Str, advancing the pointer over the consumed characters.
This returns the resultant type. If AllowTypeModifiers is false then modifier like * are not parsed, just basic types. This allows "v2i*" to be parsed as a pointer to a v2i instead of a vector of "i*".
RequiresICE is filled in on return to indicate whether the value is required to be an Integer Constant Expression.
Definition at line 11319 of file ASTContext.cpp.
Referenced by clang::ASTContext::GetBuiltinType().
|
static |
Definition at line 8236 of file ASTContext.cpp.
|
static |
Definition at line 2997 of file ASTContext.cpp.
Referenced by clang::ASTContext::getCanonicalTemplateArgument(), and clang::ASTContext::getCanonicalTemplateSpecializationType().
|
static |
Definition at line 12712 of file ASTContext.cpp.
References clang::ASTContext::getCommonSugaredType(), clang::QualType::getQualifiers(), and X.
Referenced by getCommonNonSugarTypeNode().
|
static |
Definition at line 12615 of file ASTContext.cpp.
References X.
Referenced by getCommonNonSugarTypeNode().
Definition at line 12557 of file ASTContext.cpp.
References clang::declaresSameEntity(), and X.
Referenced by getCommonDecl(), getCommonDeclChecked(), getCommonNonSugarTypeNode(), and getCommonSugarTypeNode().
|
static |
Definition at line 12572 of file ASTContext.cpp.
References getCommonDecl(), and X.
|
static |
Definition at line 12579 of file ASTContext.cpp.
References getCommonDecl(), and X.
Referenced by getCommonNonSugarTypeNode().
|
static |
Definition at line 12707 of file ASTContext.cpp.
References clang::ASTContext::getCommonSugaredType(), and X.
Referenced by getCommonNonSugarTypeNode().
Definition at line 12739 of file ASTContext.cpp.
References clang::ArrayType::getIndexTypeCVRQualifiers(), and X.
Referenced by getCommonNonSugarTypeNode().
|
static |
Definition at line 12698 of file ASTContext.cpp.
References clang::ASTContext::getCanonicalNestedNameSpecifier(), and X.
Referenced by getCommonNonSugarTypeNode(), and getCommonSugarTypeNode().
|
static |
Definition at line 12833 of file ASTContext.cpp.
References BitInt, clang::FunctionProtoType::ExtProtoInfo::ExceptionSpec, clang::FunctionProtoType::ExtProtoInfo::ExtInfo, clang::FunctionProtoType::ExtProtoInfo::ExtParameterInfos, clang::ASTContext::getArrayParameterType(), clang::ASTContext::getAtomicType(), clang::ASTContext::getAutoType(), clang::ASTContext::getBlockPointerType(), getCommonArrayElementType(), getCommonAttrLoc(), getCommonDecl(), getCommonDeclChecked(), getCommonElementType(), getCommonIndexTypeCVRQualifiers(), getCommonNNS(), getCommonPointeeType(), getCommonSizeExpr(), getCommonSizeModifier(), clang::ASTContext::getCommonSugaredType(), getCommonTemplateArguments(), getCommonTemplateNameChecked(), getCommonTypeKeyword(), getCommonTypes(), clang::ASTContext::getComplexType(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getConstantMatrixType(), clang::ASTContext::getDependentAddressSpaceType(), clang::ASTContext::getDependentNameType(), clang::ASTContext::getDependentSizedArrayType(), clang::ASTContext::getDependentSizedExtVectorType(), clang::ASTContext::getDependentSizedMatrixType(), clang::ASTContext::getDependentTemplateSpecializationType(), clang::ASTContext::getDependentVectorType(), clang::ASTContext::getExtVectorType(), clang::ASTContext::getFunctionNoProtoType(), clang::ASTContext::getFunctionType(), clang::ASTContext::getIncompleteArrayType(), clang::ASTContext::getInjectedClassNameType(), clang::ASTContext::getLValueReferenceType(), clang::ASTContext::getMemberPointerType(), clang::ASTContext::getObjCObjectPointerType(), clang::ASTContext::getObjCObjectType(), clang::ASTContext::getPackExpansionType(), clang::ASTContext::getPointerType(), clang::ASTContext::getReadPipeType(), clang::ASTContext::getRValueReferenceType(), clang::ASTContext::getTemplateSpecializationType(), clang::ASTContext::getTemplateTypeParmType(), clang::Type::getTypeClass(), clang::QualType::getTypePtr(), clang::ASTContext::getUnaryTransformType(), clang::ASTContext::getVectorType(), clang::ASTContext::getWritePipeType(), clang::ASTContext::hasSameExpr(), clang::FunctionProtoType::ExtProtoInfo::HasTrailingReturn, clang::Type::isInstantiationDependentType(), clang::ASTContext::mergeExceptionSpecs(), NON_UNIQUE_TYPE, P, clang::FunctionProtoType::ExtProtoInfo::RefQualifier, SUGAR_FREE_TYPE, clang::FunctionProtoType::ExtProtoInfo::TypeQuals, UNEXPECTED_TYPE, clang::FunctionProtoType::ExtProtoInfo::Variadic, and X.
Referenced by clang::ASTContext::getCommonSugaredType().
|
static |
Definition at line 12725 of file ASTContext.cpp.
References clang::ASTContext::getCommonSugaredType(), and X.
Referenced by getCommonNonSugarTypeNode().
|
static |
Definition at line 12729 of file ASTContext.cpp.
References clang::ASTContext::hasSameExpr(), and X.
Referenced by getCommonNonSugarTypeNode().
Definition at line 12734 of file ASTContext.cpp.
References clang::ArrayType::getSizeModifier(), and X.
Referenced by getCommonNonSugarTypeNode().
|
static |
Definition at line 13164 of file ASTContext.cpp.
References clang::Atomic, BitInt, CANONICAL_TYPE, Complex, clang::ASTContext::getAdjustedType(), clang::ASTContext::getAttributedType(), clang::ASTContext::getAutoType(), clang::ASTContext::getBTFTagAttributedType(), getCommonDecl(), getCommonNNS(), clang::ASTContext::getCommonSugaredType(), getCommonTemplateArguments(), getCommonTypeKeyword(), clang::ASTContext::getDecayedType(), clang::ASTContext::getElaboratedType(), clang::ASTContext::getMacroQualifiedType(), clang::ASTContext::getQualifiedType(), clang::Type::getTypeClass(), clang::ASTContext::hasSameType(), clang::Pipe, clang::Vector, and X.
Referenced by clang::ASTContext::getCommonSugaredType().
|
static |
Definition at line 12620 of file ASTContext.cpp.
References clang::TemplateArgument::getAsExpr(), clang::TemplateArgument::getAsTemplate(), clang::TemplateArgument::getAsTemplateOrTemplatePattern(), clang::TemplateArgument::getAsType(), clang::TemplateName::getAsVoidPointer(), clang::ASTContext::getCommonSugaredType(), getCommonTemplateName(), clang::TemplateArgument::getKind(), clang::TemplateArgument::getNullPtrType(), clang::TemplateArgument::getNumTemplateExpansions(), clang::Expr::getType(), clang::ASTContext::hasSameType(), Type, and X.
Referenced by getCommonTemplateArguments().
|
static |
Definition at line 12681 of file ASTContext.cpp.
References getCommonTemplateArguments().
|
static |
Definition at line 12666 of file ASTContext.cpp.
References getCommonTemplateArgument().
Referenced by getCommonNonSugarTypeNode(), getCommonSugarTypeNode(), and getCommonTemplateArguments().
|
static |
Definition at line 12584 of file ASTContext.cpp.
References clang::TemplateName::getAsVoidPointer(), clang::ASTContext::getCanonicalTemplateName(), and X.
Referenced by getCommonTemplateArgument(), and getCommonTemplateNameChecked().
|
static |
Definition at line 12599 of file ASTContext.cpp.
References clang::TemplateName::getAsVoidPointer(), getCommonTemplateName(), and X.
Referenced by getCommonNonSugarTypeNode().
|
static |
Definition at line 12692 of file ASTContext.cpp.
References clang::None, and X.
Referenced by getCommonNonSugarTypeNode(), and getCommonSugarTypeNode().
|
static |
Definition at line 12605 of file ASTContext.cpp.
References clang::ASTContext::getCommonSugaredType(), and clang::Unqualified.
Referenced by getCommonNonSugarTypeNode().
|
static |
getConstantArrayInfoInChars - Performing the computation in CharUnits instead of in bits prevents overflowing the uint64_t for some large arrays.
Definition at line 1766 of file ASTContext.cpp.
Referenced by clang::ASTContext::getTypeInfoInChars().
|
static |
D
. Definition at line 119 of file ASTContext.cpp.
References clang::Decl::castFromDeclContext(), clang::Decl::getBeginLoc(), clang::Decl::getDeclContext(), clang::SourceManager::getExpansionLoc(), clang::Decl::getLocation(), clang::SourceManager::getSpellingLoc(), clang::Decl::isImplicit(), clang::SourceLocation::isMacroID(), clang::TSK_ImplicitInstantiation, and clang::TSK_Undeclared.
Referenced by clang::ASTContext::attachCommentsToJustParsedDecls(), and clang::ASTContext::getRawCommentForDeclNoCache().
|
static |
getFloatingRank - Return a relative rank for floating point types.
This routine will assert if passed a built-in type that isn't a float.
Definition at line 7125 of file ASTContext.cpp.
References BFloat16Rank, clang::Type::castAs(), DoubleRank, clang::RISCV::Float, Float128Rank, Float16Rank, FloatRank, clang::Type::getAs(), clang::BuiltinType::getKind(), HalfRank, Ibm128Rank, LongDoubleRank, and clang::T.
Referenced by clang::ASTContext::getFloatingTypeOrder().
Definition at line 7344 of file ASTContext.cpp.
References clang::EnumType::getDecl(), clang::EnumDecl::getIntegerType(), clang::QualType::getTypePtr(), clang::EnumDecl::isComplete(), and clang::EnumDecl::isScoped().
Referenced by clang::ASTContext::getIntegerTypeOrder().
|
static |
getIntersectionOfProtocols - This routine finds the intersection of set of protocols inherited from two distinct objective-c pointer objects with the given common base.
It is used to build composite qualifier list of the composite type of the conditional expression involving two objective-c pointer objects.
Definition at line 10045 of file ASTContext.cpp.
Referenced by clang::ASTContext::areCommonBaseCompatible().
|
static |
|
static |
Definition at line 8110 of file ASTContext.cpp.
References clang::DiagnosticsEngine::Error, clang::RISCV::Float, clang::DiagnosticsEngine::getCustomDiagID(), clang::BuiltinType::getKind(), clang::BuiltinType::getName(), and clang::DiagnosticsEngine::Report().
Referenced by ObjCEncodingForEnumType().
|
static |
getRVVTypeSize - Return RVV vector register size.
Definition at line 9655 of file ASTContext.cpp.
Referenced by clang::ASTContext::areCompatibleRVVTypes(), and clang::ASTContext::areLaxCompatibleRVVTypes().
|
static |
Definition at line 2658 of file ASTContext.cpp.
|
static |
Definition at line 2652 of file ASTContext.cpp.
|
static |
Definition at line 2712 of file ASTContext.cpp.
|
static |
Definition at line 2670 of file ASTContext.cpp.
|
static |
getSVETypeSize - Return SVE vector or predicate register size.
Definition at line 9574 of file ASTContext.cpp.
Referenced by clang::ASTContext::areCompatibleSveTypes(), and clang::ASTContext::areLaxCompatibleSveTypes().
|
static |
Definition at line 5006 of file ASTContext.cpp.
Referenced by clang::ASTContext::getTemplateSpecializationType().
|
static |
Determine whether the attributes we can overload on are identical for A and B.
Will ignore any overloadable attrs represented in the type of A and B.
Definition at line 6588 of file ASTContext.cpp.
References clang::Decl::getASTContext(), and clang::Decl::specific_attrs().
Referenced by clang::ASTContext::isSameEntity().
|
static |
Definition at line 8281 of file ASTContext.cpp.
References clang::Type::getAs(), clang::Type::getAsCXXRecordDecl(), clang::Type::getBaseElementTypeUnsafe(), and clang::T.
|
static |
Definition at line 857 of file ASTContext.cpp.
Referenced by clang::ASTContext::InitBuiltinTypes().
|
static |
Definition at line 4417 of file ASTContext.cpp.
References clang::EST_BasicNoexcept, clang::EST_DependentNoexcept, clang::EST_Dynamic, clang::EST_None, clang::FunctionProtoType::ExceptionSpecInfo::Exceptions, clang::Type::getAs(), clang::QualType::isCanonical(), and clang::FunctionProtoType::ExceptionSpecInfo::Type.
Determine whether T
is canonical as the result type of a function.
Definition at line 4357 of file ASTContext.cpp.
References clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, and clang::T.
Referenced by clang::ASTContext::getFunctionNoProtoType().
|
static |
Definition at line 6547 of file ASTContext.cpp.
References clang::NestedNameSpecifier::getAsIdentifier(), clang::NestedNameSpecifier::getAsType(), clang::Type::getCanonicalTypeInternal(), clang::NestedNameSpecifier::getKind(), getNamespace(), clang::NestedNameSpecifier::getPrefix(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::Identifier, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::NamespaceAlias, clang::NestedNameSpecifier::Super, clang::NestedNameSpecifier::TypeSpec, clang::NestedNameSpecifier::TypeSpecWithTemplate, and X.
Referenced by clang::ASTContext::isSameEntity().
Definition at line 7724 of file ASTContext.cpp.
References clang::T.
|
static |
Given that we have an enum type and a non-enum type, try to merge them.
Definition at line 10629 of file ASTContext.cpp.
Referenced by clang::ASTContext::mergeTypes().
|
static |
Definition at line 12749 of file ASTContext.cpp.
References clang::ASTContext::getCanonicalType(), clang::ASTContext::getCommonSugaredType(), clang::T, and X.
Referenced by clang::ASTContext::mergeExceptionSpecs().
|
static |
Definition at line 4665 of file ASTContext.cpp.
Referenced by clang::ASTContext::getInjectedClassNameType().
|
static |
Definition at line 8224 of file ASTContext.cpp.
References clang::EnumType::getDecl(), and getObjCEncodingForPrimitiveType().
|
static |
Definition at line 10126 of file ASTContext.cpp.
References clang::ObjCTypeParamList::begin(), canAssignObjCObjectTypes(), clang::Contravariant, clang::Covariant, clang::ObjCInterfaceDecl::getTypeParamList(), clang::ObjCTypeParamDecl::getVariance(), clang::ASTContext::hasSameType(), and clang::Invariant.
Referenced by clang::ASTContext::areCommonBaseCompatible(), and clang::ASTContext::canAssignObjCInterfaces().
|
static |
Definition at line 5350 of file ASTContext.cpp.
References CmpProtocolNames(), and P.
Referenced by clang::ASTContext::getObjCObjectType().
|
static |
Definition at line 2739 of file ASTContext.cpp.
Referenced by clang::ASTContext::hasUniqueObjectRepresentations().
|
static |
Definition at line 2719 of file ASTContext.cpp.
|
static |
Definition at line 2635 of file ASTContext.cpp.
Referenced by clang::ASTContext::hasUniqueObjectRepresentations().
|
static |
Definition at line 13398 of file ASTContext.cpp.
References clang::Qualifiers::addConsistentQualifiers(), clang::Type::getLocallyUnqualifiedSingleStepDesugaredType(), clang::QualType::split(), and clang::T.
Referenced by clang::ASTContext::getCommonSugaredType().