clang 20.0.0git
|
The collection of all-type qualifiers we support. More...
#include "clang/AST/Type.h"
Public Types | |
enum | TQ : uint64_t { Const = 0x1 , Restrict = 0x2 , Volatile = 0x4 , CVRMask = Const | Volatile | Restrict } |
enum | GC { GCNone = 0 , Weak , Strong } |
enum | ObjCLifetime { OCL_None , OCL_ExplicitNone , OCL_Strong , OCL_Weak , OCL_Autoreleasing } |
enum | : uint64_t { MaxAddressSpace = 0x7fffffu , FastWidth = 3 , FastMask = (1 << FastWidth) - 1 } |
Public Member Functions | |
uint64_t | getAsOpaqueValue () const |
bool | hasConst () const |
bool | hasOnlyConst () const |
void | removeConst () |
void | addConst () |
Qualifiers | withConst () const |
bool | hasVolatile () const |
bool | hasOnlyVolatile () const |
void | removeVolatile () |
void | addVolatile () |
Qualifiers | withVolatile () const |
bool | hasRestrict () const |
bool | hasOnlyRestrict () const |
void | removeRestrict () |
void | addRestrict () |
Qualifiers | withRestrict () const |
bool | hasCVRQualifiers () const |
unsigned | getCVRQualifiers () const |
unsigned | getCVRUQualifiers () const |
void | setCVRQualifiers (unsigned mask) |
void | removeCVRQualifiers (unsigned mask) |
void | removeCVRQualifiers () |
void | addCVRQualifiers (unsigned mask) |
void | addCVRUQualifiers (unsigned mask) |
bool | hasUnaligned () const |
void | setUnaligned (bool flag) |
void | removeUnaligned () |
void | addUnaligned () |
bool | hasObjCGCAttr () const |
GC | getObjCGCAttr () const |
void | setObjCGCAttr (GC type) |
void | removeObjCGCAttr () |
void | addObjCGCAttr (GC type) |
Qualifiers | withoutObjCGCAttr () const |
Qualifiers | withoutObjCLifetime () const |
Qualifiers | withoutAddressSpace () const |
bool | hasObjCLifetime () const |
ObjCLifetime | getObjCLifetime () const |
void | setObjCLifetime (ObjCLifetime type) |
void | removeObjCLifetime () |
void | addObjCLifetime (ObjCLifetime type) |
bool | hasNonTrivialObjCLifetime () const |
True if the lifetime is neither None or ExplicitNone. | |
bool | hasStrongOrWeakObjCLifetime () const |
True if the lifetime is either strong or weak. | |
bool | hasAddressSpace () const |
LangAS | getAddressSpace () const |
bool | hasTargetSpecificAddressSpace () const |
unsigned | getAddressSpaceAttributePrintValue () const |
Get the address space attribute value to be printed by diagnostics. | |
void | setAddressSpace (LangAS space) |
void | removeAddressSpace () |
void | addAddressSpace (LangAS space) |
bool | hasPointerAuth () const |
PointerAuthQualifier | getPointerAuth () const |
void | setPointerAuth (PointerAuthQualifier Q) |
void | removePointerAuth () |
void | addPointerAuth (PointerAuthQualifier Q) |
bool | hasFastQualifiers () const |
unsigned | getFastQualifiers () const |
void | setFastQualifiers (unsigned mask) |
void | removeFastQualifiers (unsigned mask) |
void | removeFastQualifiers () |
void | addFastQualifiers (unsigned mask) |
bool | hasNonFastQualifiers () const |
Return true if the set contains any qualifiers which require an ExtQuals node to be allocated. | |
Qualifiers | getNonFastQualifiers () const |
bool | hasQualifiers () const |
Return true if the set contains any qualifiers. | |
bool | empty () const |
void | addQualifiers (Qualifiers Q) |
Add the qualifiers from the given set to this set. | |
void | removeQualifiers (Qualifiers Q) |
Remove the qualifiers from the given set from this set. | |
void | addConsistentQualifiers (Qualifiers qs) |
Add the qualifiers from the given set to this set, given that they don't conflict. | |
bool | isAddressSpaceSupersetOf (Qualifiers other) const |
Returns true if the address space in these qualifiers is equal to or a superset of the address space in the argument qualifiers. | |
bool | compatiblyIncludes (Qualifiers other) const |
Determines if these qualifiers compatibly include another set. | |
bool | compatiblyIncludesObjCLifetime (Qualifiers other) const |
Determines if these qualifiers compatibly include another set of qualifiers from the narrow perspective of Objective-C ARC lifetime. | |
bool | isStrictSupersetOf (Qualifiers Other) const |
Determine whether this set of qualifiers is a strict superset of another set of qualifiers, not considering qualifier compatibility. | |
bool | operator== (Qualifiers Other) const |
bool | operator!= (Qualifiers Other) const |
operator bool () const | |
Qualifiers & | operator+= (Qualifiers R) |
Qualifiers & | operator-= (Qualifiers R) |
std::string | getAsString () const |
std::string | getAsString (const PrintingPolicy &Policy) const |
bool | isEmptyWhenPrinted (const PrintingPolicy &Policy) const |
void | print (raw_ostream &OS, const PrintingPolicy &Policy, bool appendSpaceIfNonEmpty=false) const |
void | Profile (llvm::FoldingSetNodeID &ID) const |
Static Public Member Functions | |
static Qualifiers | removeCommonQualifiers (Qualifiers &L, Qualifiers &R) |
Returns the common set of qualifiers while removing them from the given sets. | |
static Qualifiers | fromFastMask (unsigned Mask) |
static Qualifiers | fromCVRMask (unsigned CVR) |
static Qualifiers | fromCVRUMask (unsigned CVRU) |
static Qualifiers | fromOpaqueValue (uint64_t opaque) |
static bool | isAddressSpaceSupersetOf (LangAS A, LangAS B) |
Returns true if address space A is equal to or a superset of B. | |
static std::string | getAddrSpaceAsString (LangAS AS) |
Friends | |
Qualifiers | operator+ (Qualifiers L, Qualifiers R) |
Qualifiers | operator- (Qualifiers L, Qualifiers R) |
Compute the difference between two qualifier sets. | |
The collection of all-type qualifiers we support.
Clang supports five independent qualifiers:
anonymous enum : uint64_t |
enum clang::Qualifiers::TQ : uint64_t |
|
inline |
Definition at line 584 of file Type.h.
References clang::Default, and setAddressSpace().
Referenced by addQualifiers(), clang::ASTContext::getAddrSpaceQualType(), getDummyLambdaType(), GetFullTypeForDeclarator(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), and TryReferenceInitializationCore().
|
inline |
Add the qualifiers from the given set to this set, given that they don't conflict.
Definition at line 676 of file Type.h.
References getAddressSpace(), getObjCGCAttr(), getObjCLifetime(), getPointerAuth(), hasAddressSpace(), hasObjCGCAttr(), hasObjCLifetime(), and hasPointerAuth().
Referenced by clang::ASTContext::getBaseElementType(), clang::SplitQualType::getSingleStepDesugaredType(), clang::ASTContext::getUnqualifiedArrayType(), and unwrapSugar().
|
inline |
Definition at line 447 of file Type.h.
References Const.
Referenced by clang::Sema::ActOnBlockArguments(), addBlockPointerConversion(), clang::QualifiersAndAtomic::addConst(), addFunctionPointerConversion(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), getDummyLambdaType(), TryObjectArgumentInitialization(), and withConst().
|
inline |
Definition at line 489 of file Type.h.
References CVRMask.
Referenced by fromCVRMask(), and removeCommonQualifiers().
|
inline |
Definition at line 493 of file Type.h.
References CVRMask.
Referenced by fromCVRUMask(), and GetFullTypeForDeclarator().
|
inline |
Definition at line 618 of file Type.h.
References FastMask.
Referenced by fromFastMask(), clang::QualType::getLocalQualifiers(), clang::QualType::getQualifiers(), and clang::QualType::split().
|
inline |
Definition at line 511 of file Type.h.
References setObjCGCAttr(), and clang::ast_matchers::type.
Referenced by addQualifiers(), and clang::ASTContext::getObjCGCQualType().
|
inline |
Definition at line 539 of file Type.h.
References hasObjCLifetime(), and clang::ast_matchers::type.
Referenced by clang::SemaObjC::ActOnPropertyImplDecl(), addQualifiers(), clang::ASTContext::getLifetimeQualifiedType(), handleObjCOwnershipTypeAttr(), inferARCLifetimeForPointee(), inferARCWriteback(), and transferARCOwnershipToDeclSpec().
|
inline |
Definition at line 598 of file Type.h.
References clang::PointerAuthQualifier::isPresent(), and setPointerAuth().
Referenced by addQualifiers().
|
inline |
Add the qualifiers from the given set to this set.
Definition at line 637 of file Type.h.
References addAddressSpace(), addObjCGCAttr(), addObjCLifetime(), addPointerAuth(), CVRMask, getAddressSpace(), getObjCGCAttr(), getObjCLifetime(), getPointerAuth(), hasAddressSpace(), hasObjCGCAttr(), hasObjCLifetime(), and hasPointerAuth().
Referenced by operator+=().
|
inline |
Definition at line 467 of file Type.h.
References Restrict.
Referenced by clang::QualifiersAndAtomic::addRestrict(), CollectVRQualifiers(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), and withRestrict().
|
inline |
Definition at line 457 of file Type.h.
References Volatile.
Referenced by clang::QualifiersAndAtomic::addVolatile(), CollectVRQualifiers(), clang::CodeGen::AggValueSlot::setVolatile(), TryObjectArgumentInitialization(), and withVolatile().
|
inline |
Determines if these qualifiers compatibly include another set.
Generally this answers the question of whether an object with the other qualifiers can be safely used as an object with these qualifiers.
Definition at line 732 of file Type.h.
References CVRMask, getObjCGCAttr(), getObjCLifetime(), getPointerAuth(), hasObjCGCAttr(), hasUnaligned(), and isAddressSpaceSupersetOf().
Referenced by AdoptQualifiers(), CheckOriginalCallArgDeduction(), checkPointerTypesForAssignment(), compareOverloads(), DeduceTemplateArgumentsByTypeMatch(), emitBadConversionNotes(), clang::Sema::handlerCanCatch(), clang::QualType::isMoreQualifiedThan(), clang::SemaObjC::isObjCWritebackConversion(), isQualificationConversionStep(), TryReferenceInit(), and TryStaticCast().
|
inline |
Determines if these qualifiers compatibly include another set of qualifiers from the narrow perspective of Objective-C ARC lifetime.
One set of Objective-C lifetime qualifiers compatibly includes the other if the lifetime qualifiers match, or if both are non-__weak and the including set also contains the 'const' qualifier, or both are non-__weak and one is None (which can only happen in non-ARC modes).
Definition at line 755 of file Type.h.
References getObjCLifetime(), hasConst(), OCL_None, and OCL_Weak.
Referenced by CastsAwayConstness(), checkPointerTypesForAssignment(), and isQualificationConversionStep().
|
inline |
Definition at line 634 of file Type.h.
Referenced by clang::SemaObjC::actOnObjCTypeParam(), clang::Sema::CheckMain(), checkQualifiedFunction(), clang::Sema::CheckQualifiedFunctionForTypeId(), clang::ASTContext::getAsArrayType(), clang::ASTContext::getUnqualifiedArrayType(), clang::Expr::isNullPointerConstant(), clang::SemaObjC::isObjCWritebackConversion(), clang::isValidSwiftErrorResultType(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), and TypeInfoIsInStandardLibrary().
|
inlinestatic |
Definition at line 422 of file Type.h.
References addCVRQualifiers().
Referenced by clang::Sema::BuildQualifiedType(), CastsAwayConstness(), clang::InitializationSequence::Diagnose(), clang::ASTContext::getCVRQualifiedType(), and clang::TreeTransform< Derived >::RebuildQualifiedType().
|
inlinestatic |
Definition at line 428 of file Type.h.
References addCVRUQualifiers().
Referenced by clang::Sema::FindCompositePointerType().
|
inlinestatic |
Definition at line 416 of file Type.h.
References addFastQualifiers().
|
inlinestatic |
Definition at line 435 of file Type.h.
Referenced by clang::FormatASTNodeDiagnosticArgument(), clang::serialization::DataStreamBasicReader< Impl >::readQualifiers(), and clang::ASTRecordReader::readQualifiers().
|
inline |
Definition at line 558 of file Type.h.
Referenced by addConsistentQualifiers(), addQualifiers(), checkConditionalPointerCompatibility(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), checkPointerTypesForAssignment(), clang::CodeGen::CodeGenTypes::DeriveThisType(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseBadConversion(), clang::Sema::FindCompositePointerType(), clang::CodeGen::LValue::getAddressSpace(), getAddressSpaceAttributePrintValue(), hasInconsistentOrSupersetQualifiersOf(), hasTargetSpecificAddressSpace(), isAddressSpaceSupersetOf(), isEmptyWhenPrinted(), IsModifiable(), isQualificationConversionStep(), isStrictSupersetOf(), clang::ASTContext::mergeObjCGCQualifiers(), clang::ASTContext::mergeTypes(), print(), clang::TreeTransform< Derived >::RebuildQualifiedType(), removeCommonQualifiers(), removeQualifiers(), ResolveConstructorOverload(), TryReferenceInitializationCore(), and TryUserDefinedConversion().
|
inline |
Get the address space attribute value to be printed by diagnostics.
Definition at line 565 of file Type.h.
References clang::Default, getAddressSpace(), hasTargetSpecificAddressSpace(), and clang::toTargetAddressSpace().
Referenced by clang::Sema::ActOnCXXDelete(), and clang::Sema::CheckAllocatedType().
|
static |
Definition at line 2454 of file TypePrinter.cpp.
References clang::cuda_constant, clang::cuda_device, clang::cuda_shared, clang::Default, clang::hlsl_groupshared, clang::opencl_constant, clang::opencl_generic, clang::opencl_global, clang::opencl_global_device, clang::opencl_global_host, clang::opencl_local, clang::opencl_private, clang::ptr32_sptr, clang::ptr32_uptr, clang::ptr64, clang::sycl_global, clang::sycl_global_device, clang::sycl_global_host, clang::sycl_local, clang::sycl_private, clang::toTargetAddressSpace(), and clang::wasm_funcref.
Referenced by clang::FormatASTNodeDiagnosticArgument(), and print().
|
inline |
Definition at line 442 of file Type.h.
Referenced by clang::ODRHash::AddQualType(), clang::ASTContext::mergeTypes(), clang::operator<<(), clang::serialization::DataStreamBasicReader< Impl >::readQualifiers(), and clang::serialization::DataStreamBasicWriter< Impl >::writeQualifiers().
std::string Qualifiers::getAsString | ( | ) | const |
Definition at line 2422 of file TypePrinter.cpp.
References getAsString().
Referenced by clang::SemaObjC::actOnObjCTypeParam(), clang::applyObjCTypeArgs(), clang::Sema::BuildCallToMemberFunction(), fixParamWithSpan(), clang::FormatASTNodeDiagnosticArgument(), getAsString(), getFunctionQualifiersAsString(), and clang::JSONNodeDumper::VisitArrayType().
std::string Qualifiers::getAsString | ( | const PrintingPolicy & | Policy | ) | const |
Definition at line 2430 of file TypePrinter.cpp.
References print().
|
inline |
Definition at line 475 of file Type.h.
References CVRMask.
Referenced by CastsAwayConstness(), checkConditionalPointerCompatibility(), DeduceTemplateArgumentsByTypeMatch(), clang::InitializationSequence::Diagnose(), DiagnoseBadConversion(), clang::CodeGen::LValue::getVRQualifiers(), hasCVRQualifiers(), hasInconsistentOrSupersetQualifiersOf(), hasMangledSubstitutionQualifiers(), isEmptyWhenPrinted(), isQualificationConversionStep(), clang::ASTContext::mergeObjCGCQualifiers(), clang::ASTContext::mergeTypes(), clang::Sema::PerformImplicitObjectArgumentInitialization(), print(), removeCommonQualifiers(), and TryReferenceInitializationCore().
|
inline |
Definition at line 476 of file Type.h.
References CVRMask.
Referenced by clang::Sema::FindCompositePointerType().
|
inline |
Definition at line 606 of file Type.h.
References FastMask.
Referenced by clang::QualifierCollector::apply(), clang::ASTContext::getQualifiedType(), hasFastQualifiers(), and clang::ASTContext::removeAddrSpaceQualType().
|
inline |
Definition at line 626 of file Type.h.
References setFastQualifiers().
|
inline |
Definition at line 506 of file Type.h.
Referenced by addConsistentQualifiers(), addQualifiers(), compatiblyIncludes(), DiagnoseBadConversion(), clang::Sema::FindCompositePointerType(), hasInconsistentOrSupersetQualifiersOf(), isEmptyWhenPrinted(), clang::CodeGen::LValue::isObjCStrong(), clang::CodeGen::LValue::isObjCWeak(), isQualificationConversionStep(), isStrictSupersetOf(), clang::ASTContext::mergeObjCGCQualifiers(), clang::ASTContext::mergeTypes(), print(), removeCommonQualifiers(), and removeQualifiers().
|
inline |
Definition at line 532 of file Type.h.
Referenced by clang::Sema::ActOnFields(), addConsistentQualifiers(), addQualifiers(), clang::ASTContext::BlockRequiresCopying(), CheckOriginalCallArgDeduction(), checkPointerTypesForAssignment(), compatiblyIncludes(), compatiblyIncludesObjCLifetime(), computeCopyInfoForBlockCapture(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseBadConversion(), clang::CodeGen::CGObjCRuntime::EmitInitOfCatchParam(), clang::Sema::FindCompositePointerType(), clang::QualType::getObjCLifetime(), clang::CodeGen::LValue::getObjCLifetime(), clang::CodeGen::AggValueSlot::getObjCLifetime(), clang::SemaObjC::handleExternallyRetainedAttr(), hasInconsistentOrSupersetQualifiersOf(), hasNonTrivialObjCLifetime(), hasStrongOrWeakObjCLifetime(), InitCatchParam(), isEmptyWhenPrinted(), isNonTrivialObjCLifetimeConversion(), clang::QualType::isNonTrivialToPrimitiveCopy(), clang::SemaObjC::isObjCWritebackConversion(), isQualificationConversionStep(), isStrictSupersetOf(), clang::ASTContext::mergeTypes(), print(), removeCommonQualifiers(), removeQualifiers(), and clang::tryMakeVariablePseudoStrong().
|
inline |
Definition at line 590 of file Type.h.
References clang::PointerAuthQualifier::fromOpaqueValue().
Referenced by addConsistentQualifiers(), addQualifiers(), compatiblyIncludes(), clang::QualType::getPointerAuth(), removeCommonQualifiers(), and removeQualifiers().
|
inline |
Definition at line 557 of file Type.h.
Referenced by addConsistentQualifiers(), addQualifiers(), clang::Sema::BuildFieldReferenceExpr(), DeduceTemplateArgumentsByTypeMatch(), clang::ASTContext::getAddrSpaceQualType(), hasInconsistentOrSupersetQualifiersOf(), hasMangledSubstitutionQualifiers(), isStrictSupersetOf(), TryReferenceInitializationCore(), and TryReferenceListInitialization().
|
inline |
Definition at line 444 of file Type.h.
References Const.
Referenced by CastsAwayConstness(), clang::Sema::CheckFunctionDeclaration(), CheckOriginalCallArgDeduction(), compatiblyIncludesObjCLifetime(), DiagnoseCastQual(), getNextQualifier(), clang::QualifiersAndAtomic::hasConst(), isConstantEmittableObjectType(), isNonTrivialObjCLifetimeConversion(), isQualificationConversionStep(), TryReferenceInitializationCore(), and TryReferenceListInitialization().
|
inline |
Definition at line 474 of file Type.h.
References getCVRQualifiers().
Referenced by clang::Sema::ActOnCXXDelete().
|
inline |
Definition at line 605 of file Type.h.
References getFastQualifiers().
Referenced by clang::ExtQuals::Profile().
|
inline |
Return true if the set contains any qualifiers which require an ExtQuals node to be allocated.
Definition at line 625 of file Type.h.
Referenced by clang::QualifierCollector::apply(), clang::ASTContext::getQualifiedType(), and clang::ASTContext::removeAddrSpaceQualType().
|
inline |
True if the lifetime is neither None or ExplicitNone.
Definition at line 546 of file Type.h.
References getObjCLifetime(), and OCL_ExplicitNone.
Referenced by DeduceTemplateArgumentsByTypeMatch(), and clang::QualType::hasNonTrivialObjCLifetime().
|
inline |
Definition at line 505 of file Type.h.
Referenced by addConsistentQualifiers(), addQualifiers(), compatiblyIncludes(), DeduceTemplateArgumentsByTypeMatch(), clang::ASTContext::getObjCGCQualType(), hasInconsistentOrSupersetQualifiersOf(), isQualificationConversionStep(), and isStrictSupersetOf().
|
inline |
Definition at line 531 of file Type.h.
Referenced by addConsistentQualifiers(), addObjCLifetime(), addQualifiers(), checkARCPropertyImpl(), DeduceTemplateArgumentsByTypeMatch(), DiagnoseUninitializedUse(), clang::ASTContext::getCanonicalFunctionResultType(), hasInconsistentOrSupersetQualifiersOf(), isStrictSupersetOf(), clang::TreeTransform< Derived >::RebuildQualifiedType(), rewriteToObjCProperty(), and TryDefaultInitialization().
|
inline |
Definition at line 445 of file Type.h.
References Const.
Referenced by TryObjectArgumentInitialization().
|
inline |
|
inline |
|
inline |
Definition at line 589 of file Type.h.
Referenced by addConsistentQualifiers(), and addQualifiers().
|
inline |
Return true if the set contains any qualifiers.
Definition at line 633 of file Type.h.
Referenced by clang::InitializationSequence::Diagnose(), operator bool(), and clang::ASTNodeTraverser< Derived, NodeDelegateType >::Visit().
|
inline |
Definition at line 464 of file Type.h.
References Restrict.
Referenced by clang::Sema::BuildQualifiedType(), CollectVRQualifiers(), getNextQualifier(), clang::CXXMethodDecl::getThisType(), clang::QualifiersAndAtomic::hasRestrict(), clang::CodeGen::LValue::isRestrictQualified(), and clang::TreeTransform< Derived >::RebuildQualifiedType().
|
inline |
True if the lifetime is either strong or weak.
Definition at line 552 of file Type.h.
References getObjCLifetime(), OCL_Strong, and OCL_Weak.
Referenced by clang::QualType::hasStrongOrWeakObjCLifetime().
|
inline |
Definition at line 561 of file Type.h.
References getAddressSpace(), and clang::isTargetAddressSpace().
Referenced by getAddressSpaceAttributePrintValue().
|
inline |
Definition at line 498 of file Type.h.
Referenced by compatiblyIncludes(), decomposeTypeForEH(), clang::ASTContext::getDeclAlign(), hasMangledSubstitutionQualifiers(), clang::ASTContext::mergeTypes(), clang::Sema::PerformImplicitConversion(), print(), and clang::Sema::RefersToMemberWithReducedAlignment().
|
inline |
Definition at line 454 of file Type.h.
References Volatile.
Referenced by CollectVRQualifiers(), DiagnoseCastQual(), getNextQualifier(), clang::QualifiersAndAtomic::hasVolatile(), isConstantEmittableObjectType(), clang::QualType::isNonTrivialToPrimitiveCopy(), clang::CodeGen::LValue::isVolatile(), clang::CodeGen::AggValueSlot::isVolatile(), clang::CodeGen::LValue::isVolatileQualified(), TryReferenceInitializationCore(), and TryReferenceListInitialization().
Returns true if address space A is equal to or a superset of B.
OpenCL v2.0 defines conversion rules (OpenCLC v2.0 s6.5.5) and notion of overlapping address spaces. CL1.1 or CL1.2: every address space is a superset of itself. CL2.0 adds: __generic is a superset of any address space except for __constant.
Definition at line 695 of file Type.h.
References clang::cuda_constant, clang::cuda_device, clang::cuda_shared, clang::Default, clang::isPtrSizeAddressSpace(), clang::opencl_constant, clang::opencl_generic, clang::opencl_global, clang::opencl_global_device, clang::opencl_global_host, clang::sycl_global, clang::sycl_global_device, clang::sycl_global_host, clang::sycl_local, and clang::sycl_private.
Referenced by clang::Sema::AddOverloadCandidate(), checkConditionalPointerCompatibility(), checkPointerTypesForAssignment(), compatiblyIncludes(), clang::InitializationSequence::Diagnose(), clang::Sema::FindCompositePointerType(), clang::QualType::isAddressSpaceOverlapping(), isAddressSpaceSupersetOf(), clang::isBetterOverloadCandidate(), isQualificationConversionStep(), clang::ASTContext::mergeTypes(), clang::Sema::PerformImplicitConversion(), TryObjectArgumentInitialization(), TryReferenceInitializationCore(), TryReferenceListInitialization(), and TryReinterpretCast().
|
inline |
Returns true if the address space in these qualifiers is equal to or a superset of the address space in the argument qualifiers.
Definition at line 725 of file Type.h.
References getAddressSpace(), and isAddressSpaceSupersetOf().
bool Qualifiers::isEmptyWhenPrinted | ( | const PrintingPolicy & | Policy | ) | const |
Definition at line 2437 of file TypePrinter.cpp.
References clang::Default, getAddressSpace(), getCVRQualifiers(), getObjCGCAttr(), getObjCLifetime(), OCL_Strong, and clang::PrintingPolicy::SuppressStrongLifetime.
bool Qualifiers::isStrictSupersetOf | ( | Qualifiers | Other | ) | const |
Determine whether this set of qualifiers is a strict superset of another set of qualifiers, not considering qualifier compatibility.
Definition at line 60 of file Type.cpp.
References CVRMask, getAddressSpace(), getObjCGCAttr(), getObjCLifetime(), hasAddressSpace(), hasObjCGCAttr(), hasObjCLifetime(), and clang::Other.
Referenced by DeduceTemplateArgumentsByTypeMatch().
|
inlineexplicit |
Definition at line 775 of file Type.h.
References hasQualifiers().
|
inline |
Definition at line 773 of file Type.h.
References clang::Other.
|
inline |
Definition at line 777 of file Type.h.
References addQualifiers().
|
inline |
Definition at line 789 of file Type.h.
References removeQualifiers().
|
inline |
Definition at line 772 of file Type.h.
References clang::Other.
void Qualifiers::print | ( | raw_ostream & | OS, |
const PrintingPolicy & | Policy, | ||
bool | appendSpaceIfNonEmpty = false |
||
) | const |
Definition at line 2501 of file TypePrinter.cpp.
References AppendTypeQualList(), getAddressSpace(), getAddrSpaceAsString(), getCVRQualifiers(), getObjCGCAttr(), getObjCLifetime(), hasUnaligned(), clang::isTargetAddressSpace(), OCL_Autoreleasing, OCL_ExplicitNone, OCL_None, OCL_Strong, OCL_Weak, clang::PrintingPolicy::Restrict, clang::PrintingPolicy::SuppressStrongLifetime, and Weak.
Referenced by getAsString().
|
inline |
|
inline |
Definition at line 583 of file Type.h.
References clang::Default, and setAddressSpace().
Referenced by clang::Sema::BuildCallToMemberFunction(), checkBlockPointerTypesForAssignment(), checkConditionalPointerCompatibility(), DeduceTemplateArgumentsByTypeMatch(), clang::Expr::isNullPointerConstant(), clang::ASTContext::mergeTypes(), RemoveAddressSpaceFromPtr(), clang::ASTContext::removeAddrSpaceQualType(), removeCommonQualifiers(), removeQualifiers(), stripUnusedQualifiers(), TryReferenceInitializationCore(), and withoutAddressSpace().
|
inlinestatic |
Returns the common set of qualifiers while removing them from the given sets.
Definition at line 371 of file Type.h.
References addCVRQualifiers(), CVRMask, clang::Empty, getAddressSpace(), getCVRQualifiers(), clang::PointerAuthQualifier::getKey(), getObjCGCAttr(), getObjCLifetime(), getPointerAuth(), clang::PointerAuthQualifier::isPresent(), clang::PointerAuthQualifier::KeyNoneInternal, removeAddressSpace(), removeCVRQualifiers(), removeObjCGCAttr(), removeObjCLifetime(), setAddressSpace(), setObjCGCAttr(), setObjCLifetime(), and setPointerAuth().
Referenced by clang::ASTContext::getCommonSugaredType(), and UnwrapTypeForDebugInfo().
|
inline |
Definition at line 446 of file Type.h.
Referenced by clang::Sema::BuildFieldReferenceExpr(), clang::Sema::BuildQualifiedType(), clang::Sema::BuiltinChangeCVRQualifiers(), clang::Sema::BuiltinRemoveReference(), CastsAwayConstness(), clang::Sema::CheckMain(), checkMemberDecomposition(), getNextQualifier(), clang::QualifiersAndAtomic::removeConst(), and TypeInfoIsInStandardLibrary().
|
inline |
Definition at line 486 of file Type.h.
References CVRMask, and removeCVRQualifiers().
Referenced by removeCVRQualifiers().
|
inline |
Definition at line 482 of file Type.h.
References CVRMask.
Referenced by clang::Sema::ActOnCXXDelete(), clang::SemaObjC::actOnObjCTypeParam(), checkConditionalPointerCompatibility(), DeduceTemplateArgumentsByTypeMatch(), GetFullTypeForDeclarator(), clang::ASTContext::hasCvrSimilarType(), removeCommonQualifiers(), and shouldBeModeledWithNoOp().
|
inline |
Definition at line 615 of file Type.h.
References FastMask, and removeFastQualifiers().
Referenced by removeFastQualifiers().
|
inline |
|
inline |
Definition at line 510 of file Type.h.
References GCNone, and setObjCGCAttr().
Referenced by clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildFieldReferenceExpr(), DeduceTemplateArgumentsByTypeMatch(), isQualificationConversionStep(), removeCommonQualifiers(), removeQualifiers(), stripUnusedQualifiers(), TryReferenceInit(), TryStaticCast(), and withoutObjCGCAttr().
|
inline |
Definition at line 538 of file Type.h.
References OCL_None, and setObjCLifetime().
Referenced by BuildSimilarlyQualifiedPointerType(), checkPointerTypesForAssignment(), DeduceTemplateArgumentsByTypeMatch(), clang::ASTContext::getCanonicalFunctionResultType(), clang::ASTContext::getUnqualifiedObjCPointerType(), handleObjCOwnershipTypeAttr(), isQualificationConversionStep(), clang::TreeTransform< Derived >::RebuildQualifiedType(), removeCommonQualifiers(), removeQualifiers(), rewriteToObjCProperty(), stripUnusedQualifiers(), TryReferenceInit(), TryStaticCast(), and withoutObjCLifetime().
|
inline |
Definition at line 597 of file Type.h.
Referenced by removeQualifiers().
|
inline |
Remove the qualifiers from the given set from this set.
Definition at line 656 of file Type.h.
References CVRMask, getAddressSpace(), getObjCGCAttr(), getObjCLifetime(), getPointerAuth(), removeAddressSpace(), removeObjCGCAttr(), removeObjCLifetime(), and removePointerAuth().
Referenced by operator-=().
|
inline |
Definition at line 466 of file Type.h.
Referenced by clang::Sema::BuildQualifiedType(), clang::Sema::BuiltinChangeCVRQualifiers(), getNextQualifier(), and clang::QualifiersAndAtomic::removeRestrict().
|
inline |
Definition at line 502 of file Type.h.
Referenced by clang::QualType::isAtLeastAsQualifiedAs(), isQualificationConversionStep(), stripUnusedQualifiers(), TryReferenceInit(), and withoutUnaligned().
|
inline |
Definition at line 456 of file Type.h.
Referenced by clang::Sema::BuildQualifiedType(), clang::Sema::BuiltinChangeCVRQualifiers(), clang::Sema::BuiltinRemoveReference(), clang::Sema::CheckExplicitlyDefaultedComparison(), getNextQualifier(), clang::QualifiersAndAtomic::removeVolatile(), and clang::CodeGen::AggValueSlot::setVolatile().
|
inline |
Definition at line 578 of file Type.h.
References MaxAddressSpace.
Referenced by addAddressSpace(), clang::Sema::BuildCallExpr(), checkConditionalPointerCompatibility(), clang::Sema::FindCompositePointerType(), clang::ASTContext::InitBuiltinTypes(), NoteFunctionCandidate(), removeAddressSpace(), and removeCommonQualifiers().
|
inline |
Definition at line 478 of file Type.h.
References CVRMask.
Referenced by DeduceTemplateArgumentsByTypeMatch().
|
inline |
|
inline |
Definition at line 507 of file Type.h.
References clang::ast_matchers::type.
Referenced by addObjCGCAttr(), clang::Sema::FindCompositePointerType(), removeCommonQualifiers(), and removeObjCGCAttr().
|
inline |
Definition at line 535 of file Type.h.
References clang::ast_matchers::type.
Referenced by checkARCPropertyImpl(), CheckOriginalCallArgDeduction(), clang::Sema::CheckTemplateTypeArgument(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::FindCompositePointerType(), clang::ObjCMethodDecl::getSelfType(), clang::SemaObjC::isObjCWritebackConversion(), removeCommonQualifiers(), and removeObjCLifetime().
|
inline |
Definition at line 593 of file Type.h.
References clang::PointerAuthQualifier::getAsOpaqueValue().
Referenced by addPointerAuth(), clang::ASTContext::getPointerAuthType(), and removeCommonQualifiers().
|
inline |
Definition at line 499 of file Type.h.
Referenced by clang::Sema::BuildQualifiedType().
|
inline |
Definition at line 448 of file Type.h.
References addConst().
Referenced by clang::QualifiersAndAtomic::withConst().
|
inline |
Definition at line 525 of file Type.h.
References removeAddressSpace().
Referenced by TryReferenceInitializationCore(), and TryReferenceListInitialization().
|
inline |
Definition at line 515 of file Type.h.
References removeObjCGCAttr().
Referenced by checkPointerTypesForAssignment().
|
inline |
Definition at line 520 of file Type.h.
References removeObjCLifetime().
Referenced by checkPointerTypesForAssignment(), DeduceTemplateArgumentsByTypeMatch(), and clang::SemaObjC::isObjCWritebackConversion().
|
inline |
Definition at line 468 of file Type.h.
References addRestrict().
Referenced by clang::QualifiersAndAtomic::withRestrict().
|
inline |
Definition at line 458 of file Type.h.
References addVolatile().
Referenced by clang::QualifiersAndAtomic::withVolatile().
|
friend |
|
friend |