reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

tools/clang/include/clang/AST/Type.h
 6115 class QualifierCollector : public Qualifiers {

References

include/llvm/ADT/FoldingSet.h
  221   static void Profile(const T &X, FoldingSetNodeID &ID) {
  224   static void Profile(T &X, FoldingSetNodeID &ID) {
  232   static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
  240   static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID);
  250   : public DefaultFoldingSetTrait<T> {};
  329   inline void Add(const T &x) { FoldingSetTrait<T>::Profile(x, *this); }
  329   inline void Add(const T &x) { FoldingSetTrait<T>::Profile(x, *this); }
include/llvm/Support/Alignment.h
  103     return Constant<std::alignment_of<T>::value>();
include/llvm/Support/TrailingObjects.h
   66     RestAlignment = AlignmentCalcHelper<Rest...>::Alignment,
   77   enum { Alignment = alignof(First) };
  134     : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
  135                                  MoreTys...> {
  137   typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
  137   typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  161   static const NextTy *
  163                          TrailingObjectsBase::OverloadToken<NextTy>) {
  171           alignAddr(Ptr, Align::Of<NextTy>()));
  176   static NextTy *
  178                          TrailingObjectsBase::OverloadToken<NextTy>) {
  185       return reinterpret_cast<NextTy *>(alignAddr(Ptr, Align::Of<NextTy>()));
  195       typename ExtractSecondType<MoreTys, size_t>::type... MoreCounts) {
  197         (requiresRealignment() ? llvm::alignTo<alignof(NextTy)>(SizeSoFar)
  199             sizeof(NextTy) * Count1,
  231                                 TrailingTys...>::Alignment,
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  233                             BaseTy, TrailingTys...> {
  241       trailing_objects_internal::AlignmentCalcHelper<TrailingTys...>::Alignment,
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  302   template <typename T> const T *getTrailingObjects() const {
  314   template <typename T> T *getTrailingObjects() {
  332                         TrailingTys, size_t>::type... Counts) {
  342       std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
  342       std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
  344                    TrailingTys, size_t>::type... Counts) {
tools/clang/include/clang/AST/ASTContext.h
 1128   QualType getExtQualType(const Type *Base, Qualifiers Quals) const;
 1163   QualType getObjCGCQualType(QualType T, Qualifiers::GC gcAttr) const;
 1171     return T.withFastQualifiers(Qualifiers::Restrict);
 1180     return T.withFastQualifiers(Qualifiers::Volatile);
 1292                         Qualifiers::ObjCLifetime &Lifetime,
 1938     return getQualifiedType(T, Qualifiers::fromCVRMask(CVR));
 1947   QualType getQualifiedType(QualType T, Qualifiers Qs) const {
 1956   QualType getQualifiedType(const Type *T, Qualifiers Qs) const {
 1966                                     Qualifiers::ObjCLifetime lifetime) {
 1970     Qualifiers qs;
 1981     Qualifiers Qs = type.getQualifiers();
 2052   Qualifiers::GC getObjCGCAttrKind(QualType Ty) const;
 2325   QualType getUnqualifiedArrayType(QualType T, Qualifiers &Quals);
 2506   Qualifiers::ObjCLifetime getInnerObjCOwnership(QualType T) const;
 2545   unsigned getTargetAddressSpace(Qualifiers Q) const {
tools/clang/include/clang/AST/CanonicalType.h
  129   Qualifiers getQualifiers() const { return Stored.getLocalQualifiers(); }
tools/clang/include/clang/AST/DeclCXX.h
 2058   Qualifiers getMethodQualifiers() const {
tools/clang/include/clang/AST/Type.h
  188   static Qualifiers removeCommonQualifiers(Qualifiers &L, Qualifiers &R) {
  188   static Qualifiers removeCommonQualifiers(Qualifiers &L, Qualifiers &R) {
  188   static Qualifiers removeCommonQualifiers(Qualifiers &L, Qualifiers &R) {
  191       Qualifiers Q;
  198     Qualifiers Q;
  224   static Qualifiers fromFastMask(unsigned Mask) {
  225     Qualifiers Qs;
  230   static Qualifiers fromCVRMask(unsigned CVR) {
  231     Qualifiers Qs;
  236   static Qualifiers fromCVRUMask(unsigned CVRU) {
  237     Qualifiers Qs;
  243   static Qualifiers fromOpaqueValue(unsigned opaque) {
  244     Qualifiers Qs;
  310   Qualifiers withoutObjCGCAttr() const {
  311     Qualifiers qs = *this;
  315   Qualifiers withoutObjCLifetime() const {
  316     Qualifiers qs = *this;
  320   Qualifiers withoutAddressSpace() const {
  321     Qualifiers qs = *this;
  407   Qualifiers getNonFastQualifiers() const {
  408     Qualifiers Quals = *this;
  418   void addQualifiers(Qualifiers Q) {
  435   void removeQualifiers(Qualifiers Q) {
  453   void addConsistentQualifiers(Qualifiers qs) {
  480   bool isAddressSpaceSupersetOf(Qualifiers other) const {
  487   bool compatiblyIncludes(Qualifiers other) const {
  508   bool compatiblyIncludesObjCLifetime(Qualifiers other) const {
  523   bool isStrictSupersetOf(Qualifiers Other) const;
  525   bool operator==(Qualifiers Other) const { return Mask == Other.Mask; }
  526   bool operator!=(Qualifiers Other) const { return Mask != Other.Mask; }
  530   Qualifiers &operator+=(Qualifiers R) {
  530   Qualifiers &operator+=(Qualifiers R) {
  537   friend Qualifiers operator+(Qualifiers L, Qualifiers R) {
  537   friend Qualifiers operator+(Qualifiers L, Qualifiers R) {
  537   friend Qualifiers operator+(Qualifiers L, Qualifiers R) {
  542   Qualifiers &operator-=(Qualifiers R) {
  542   Qualifiers &operator-=(Qualifiers R) {
  548   friend Qualifiers operator-(Qualifiers L, Qualifiers R) {
  548   friend Qualifiers operator-(Qualifiers L, Qualifiers R) {
  548   friend Qualifiers operator-(Qualifiers L, Qualifiers R) {
  587   Qualifiers Quals;
  590   SplitQualType(const Type *ty, Qualifiers qs) : Ty(ty), Quals(qs) {}
  595   std::pair<const Type *,Qualifiers> asPair() const {
  648                        Qualifiers::FastWidth> Value;
  716     return (getLocalFastQualifiers() & Qualifiers::Const);
  726     return (getLocalFastQualifiers() & Qualifiers::Restrict);
  736     return (getLocalFastQualifiers() & Qualifiers::Volatile);
  762   Qualifiers getLocalQualifiers() const;
  765   Qualifiers getQualifiers() const;
  813     addFastQualifiers(Qualifiers::Const);
  816     return withFastQualifiers(Qualifiers::Const);
  821     addFastQualifiers(Qualifiers::Volatile);
  824     return withFastQualifiers(Qualifiers::Volatile);
  829     addFastQualifiers(Qualifiers::Restrict);
  832     return withFastQualifiers(Qualifiers::Restrict);
  983   static std::string getAsString(const Type *ty, Qualifiers qs,
  999   static void print(const Type *ty, Qualifiers qs,
 1012   static void getAsStringInternal(const Type *ty, Qualifiers qs,
 1053   inline Qualifiers::GC getObjCGCAttr() const;
 1057     return getObjCGCAttr() == Qualifiers::Weak;
 1062     return getObjCGCAttr() == Qualifiers::Strong;
 1066   Qualifiers::ObjCLifetime getObjCLifetime() const {
 1340   Qualifiers Quals;
 1345   ExtQuals(const Type *baseType, QualType canon, Qualifiers quals)
 1355   Qualifiers getQualifiers() const { return Quals; }
 1358   Qualifiers::GC getObjCGCAttr() const { return Quals.getObjCGCAttr(); }
 1361   Qualifiers::ObjCLifetime getObjCLifetime() const {
 1377                       Qualifiers Quals) {
 1558     unsigned FastTypeQuals : Qualifiers::FastWidth;
 2101   Qualifiers::ObjCLifetime getObjCARCImplicitLifetime() const;
 2609     Qualifiers thisQuals = PointeeType.getQualifiers();
 2610     Qualifiers otherQuals = other.getPointeeType().getQualifiers();
 2887   Qualifiers getIndexTypeQualifiers() const {
 2888     return Qualifiers::fromCVRMask(getIndexTypeCVRQualifiers());
 3646   Qualifiers getFastTypeQuals() const {
 3647     return Qualifiers::fromFastMask(FunctionTypeBits.FastTypeQuals);
 3664   static_assert((~Qualifiers::FastMask & Qualifiers::CVRMask) == 0,
 3664   static_assert((~Qualifiers::FastMask & Qualifiers::CVRMask) == 0,
 3731           FunctionType::ExtParameterInfo, Qualifiers> {
 3809     Qualifiers TypeQuals;
 4054   Qualifiers getMethodQuals() const {
 4056       return *getTrailingObjects<Qualifiers>();
 6115 class QualifierCollector : public Qualifiers {
 6117   QualifierCollector(Qualifiers Qs = Qualifiers()) : Qualifiers(Qs) {}
 6159                          Qualifiers::fromFastMask(getLocalFastQualifiers()));
 6162   Qualifiers qs = eq->getQualifiers();
 6167 inline Qualifiers QualType::getLocalQualifiers() const {
 6168   Qualifiers Quals;
 6175 inline Qualifiers QualType::getQualifiers() const {
 6176   Qualifiers quals = getCommonPtr()->CanonicalType.getLocalQualifiers();
 6243   removeLocalFastQualifiers(Qualifiers::Const);
 6247   removeLocalFastQualifiers(Qualifiers::Restrict);
 6251   removeLocalFastQualifiers(Qualifiers::Volatile);
 6256   static_assert((int)Qualifiers::CVRMask == (int)Qualifiers::FastMask,
 6256   static_assert((int)Qualifiers::CVRMask == (int)Qualifiers::FastMask,
 6269 inline Qualifiers::GC QualType::getObjCGCAttr() const {
 6311   Qualifiers MyQuals = getQualifiers();
 6312   Qualifiers OtherQuals = other.getQualifiers();
 6321   Qualifiers OtherQuals = other.getQualifiers();
 6817                                            Qualifiers Q) {
 6826                                            Qualifiers Q) {
tools/clang/include/clang/Sema/Sema.h
 1385         const SemaDiagnosticBuilder &Diag, const T &Value) {
 1517   QualType BuildQualifiedType(QualType T, SourceLocation Loc, Qualifiers Qs,
 5547     CXXThisScopeRAII(Sema &S, Decl *ContextDecl, Qualifiers CXXThisTypeQuals,
 8321                                         Qualifiers ThisTypeQuals);
tools/clang/include/clang/Serialization/ASTBitCodes.h
  101         return (Idx << Qualifiers::FastWidth) | FastQuals;
  108         return TypeIdx(ID >> Qualifiers::FastWidth);
tools/clang/lib/ARCMigrate/ObjCMT.cpp
  438   Qualifiers::ObjCLifetime propertyLifetime = ArgType.getObjCLifetime();
  441       (propertyLifetime == Qualifiers::OCL_Strong
  442        || propertyLifetime == Qualifiers::OCL_None)) {
  454   } else if (propertyLifetime == Qualifiers::OCL_Weak)
  521       Qualifiers Qs = CanResultTy.getQualifiers();
tools/clang/lib/ARCMigrate/TransAPIUses.cpp
   76       if (pointee.getObjCLifetime() > Qualifiers::OCL_ExplicitNone)
tools/clang/lib/ARCMigrate/TransBlockObjCVariable.cpp
  107     return ty.getLocalQualifiers().getObjCLifetime() == Qualifiers::OCL_Strong;
tools/clang/lib/ARCMigrate/TransGCAttrs.cpp
  247       if (TInfo->getType().getObjCLifetime() == Qualifiers::OCL_Weak) {
  249       } else if (TInfo->getType().getObjCLifetime() == Qualifiers::OCL_Strong)
tools/clang/lib/ARCMigrate/TransProperties.cpp
  228             I->IvarD->getType().getObjCLifetime() != Qualifiers::OCL_Weak) {
  256             I->IvarD->getType().getObjCLifetime() != Qualifiers::OCL_Weak)
  324               != Qualifiers::OCL_Strong)
tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp
   87           if (rec->getType().getObjCLifetime() == Qualifiers::OCL_ExplicitNone &&
tools/clang/lib/AST/ASTContext.cpp
 1372     auto Q = VoidTy.getQualifiers();
 2714 ASTContext::getExtQualType(const Type *baseType, Qualifiers quals) const {
 2785                                        Qualifiers::GC GCAttr) const {
 3672          (T.getObjCLifetime() == Qualifiers::OCL_None ||
 3673           T.getObjCLifetime() == Qualifiers::OCL_ExplicitNone);
 3714     Qualifiers Qs = CanResultType.getQualifiers();
 3882       FunctionProtoType::ExtParameterInfo, Qualifiers>(
 5170                                              Qualifiers &quals) {
 5304     Qualifiers Quals;
 5316     Qualifiers Quals1, Quals2;
 5564   Qualifiers qs = split.Quals;
 5659   Qualifiers qs;
 5889 Qualifiers::ObjCLifetime ASTContext::getInnerObjCOwnership(QualType T) const {
 5891     if (T.getObjCLifetime() != Qualifiers::OCL_None)
 5903   return Qualifiers::OCL_None;
 6207   Qualifiers qs = Ty.getQualifiers();
 6210   if (Qualifiers::ObjCLifetime lifetime = qs.getObjCLifetime()) {
 6212       case Qualifiers::OCL_None: llvm_unreachable("impossible");
 6215       case Qualifiers::OCL_ExplicitNone:
 6216       case Qualifiers::OCL_Autoreleasing:
 6221       case Qualifiers::OCL_Weak:
 6222       case Qualifiers::OCL_Strong:
 6232                               Qualifiers::ObjCLifetime &LifeTime,
 6241     LifeTime = Qualifiers::OCL_None;
 6246     LifeTime = Qualifiers::OCL_ExplicitNone;
 6248     LifeTime = Qualifiers::OCL_None;
 7902 Qualifiers::GC ASTContext::getObjCGCAttrKind(QualType Ty) const {
 7904     return Qualifiers::GCNone;
 7907   Qualifiers::GC GCAttrs = Ty.getObjCGCAttr();
 7912   if (GCAttrs == Qualifiers::GCNone) {
 7914       return Qualifiers::Strong;
 8868   Qualifiers LQuals = LHSCan.getLocalQualifiers();
 8869   Qualifiers RQuals = RHSCan.getLocalQualifiers();
 8884     Qualifiers::GC GC_L = LQuals.getObjCGCAttr();
 8885     Qualifiers::GC GC_R = RQuals.getObjCGCAttr();
 8888     if (GC_L == Qualifiers::Weak || GC_R == Qualifiers::Weak)
 8888     if (GC_L == Qualifiers::Weak || GC_R == Qualifiers::Weak)
 8891     if (GC_L == Qualifiers::Strong && RHSCan->isObjCObjectPointerType()) {
 8892       return mergeTypes(LHS, getObjCGCQualType(RHS, Qualifiers::Strong));
 8894     if (GC_R == Qualifiers::Strong && LHSCan->isObjCObjectPointerType()) {
 8895       return mergeTypes(getObjCGCQualType(LHS, Qualifiers::Strong), RHS);
 8998       Qualifiers LHSPteeQual = LHSPointee.getQualifiers();
 8999       Qualifiers RHSPteeQual = RHSPointee.getQualifiers();
 9256   Qualifiers LQuals = LHSCan.getLocalQualifiers();
 9257   Qualifiers RQuals = RHSCan.getLocalQualifiers();
 9269     Qualifiers::GC GC_L = LQuals.getObjCGCAttr();
 9270     Qualifiers::GC GC_R = RQuals.getObjCGCAttr();
 9273     if (GC_L == Qualifiers::Weak || GC_R == Qualifiers::Weak)
 9273     if (GC_L == Qualifiers::Weak || GC_R == Qualifiers::Weak)
 9276     if (GC_L == Qualifiers::Strong)
 9278     if (GC_R == Qualifiers::Strong)
tools/clang/lib/AST/ASTDiagnostic.cpp
  345       Qualifiers Q(Qualifiers::fromOpaqueValue(Val));
  345       Qualifiers Q(Qualifiers::fromOpaqueValue(Val));
  544       Qualifiers Qual;
  599                          Qualifiers FromQual, Qualifiers ToQual,
  599                          Qualifiers FromQual, Qualifiers ToQual,
  767                          Qualifiers &FromQual, Qualifiers &ToQual) {
  767                          Qualifiers &FromQual, Qualifiers &ToQual) {
 1136       Qualifiers FromQual = FromType.getQualifiers(),
 1542         Qualifiers FromQual, ToQual;
 1627       Qualifiers FromQual = FromType.getLocalQualifiers(),
 1932   void PrintQualifiers(Qualifiers FromQual, Qualifiers ToQual) {
 1932   void PrintQualifiers(Qualifiers FromQual, Qualifiers ToQual) {
 1944     Qualifiers CommonQual = Qualifiers::removeCommonQualifiers(FromQual,
 1944     Qualifiers CommonQual = Qualifiers::removeCommonQualifiers(FromQual,
 1985   void PrintQualifier(Qualifiers Q, bool ApplyBold,
 2012     Qualifiers FromQual = FromTemplateType.getQualifiers(),
tools/clang/lib/AST/Decl.cpp
 2992     if (Ty.getCVRQualifiers() != Qualifiers::Const)
tools/clang/lib/AST/DeclCXX.cpp
  767         if (Quals & Qualifiers::Const)
 1008         Qualifiers::ObjCLifetime LT = T.getQualifiers().getObjCLifetime();
 1009         if (LT != Qualifiers::OCL_Strong && LT != Qualifiers::OCL_Weak)
 1009         if (LT != Qualifiers::OCL_Strong && LT != Qualifiers::OCL_Weak)
 1013         if (LT == Qualifiers::OCL_Weak)
 1105         if (T.getCVRQualifiers() & (Qualifiers::Const | Qualifiers::Volatile)) {
 1105         if (T.getCVRQualifiers() & (Qualifiers::Const | Qualifiers::Volatile)) {
tools/clang/lib/AST/DeclObjC.cpp
 1102       Qualifiers qs;
 1103       qs.setObjCLifetime(Qualifiers::OCL_Strong);
tools/clang/lib/AST/Expr.cpp
 2763              (Ctx.getObjCGCAttrKind(T) != Qualifiers::Weak);
 3708         Qualifiers Qs = Pointee.getQualifiers();
tools/clang/lib/AST/ExprCXX.cpp
  148   Qualifiers Quals;
  155   Qualifiers Quals;
tools/clang/lib/AST/ExprConstant.cpp
 2909   Qualifiers Quals = T.getQualifiers();
tools/clang/lib/AST/ItaniumMangle.cpp
  510   void mangleQualifiers(Qualifiers Quals, const DependentAddressSpaceType *DAST = nullptr);
 1512     Qualifiers MethodQuals = Method->getMethodQualifiers();
 2263 void CXXNameMangler::mangleQualifiers(Qualifiers Quals, const DependentAddressSpaceType *DAST) {
 2319   if (Quals.getObjCLifetime() == Qualifiers::OCL_Weak)
 2328   case Qualifiers::OCL_None:
 2331   case Qualifiers::OCL_Weak:
 2335   case Qualifiers::OCL_Strong:
 2339   case Qualifiers::OCL_Autoreleasing:
 2343   case Qualifiers::OCL_ExplicitNone:
 2388 static bool isTypeSubstitutable(Qualifiers Quals, const Type *Ty,
 2460   Qualifiers quals = split.Quals;
 4679   Qualifiers Qs = T.getQualifiers();
tools/clang/lib/AST/MicrosoftMangle.cpp
  324   void mangleAddressSpaceType(QualType T, Qualifiers Quals, SourceRange Range);
  345   void mangleQualifiers(Qualifiers Quals, bool IsMember);
  347   void manglePointerCVQualifiers(Qualifiers Quals);
  348   void manglePointerExtQualifiers(Qualifiers Quals, QualType PointeeType);
  388   void mangleObjCLifetime(const QualType T, Qualifiers Quals,
  390   void mangleObjCKindOfType(const ObjCObjectType *T, Qualifiers Quals,
 1564                                                  Qualifiers Quals,
 1572   case Qualifiers::OCL_None:
 1573   case Qualifiers::OCL_ExplicitNone:
 1575   case Qualifiers::OCL_Autoreleasing:
 1578   case Qualifiers::OCL_Strong:
 1581   case Qualifiers::OCL_Weak:
 1593                                                    Qualifiers Quals,
 1609 void MicrosoftCXXNameMangler::mangleQualifiers(Qualifiers Quals,
 1709 void MicrosoftCXXNameMangler::manglePointerExtQualifiers(Qualifiers Quals,
 1723 void MicrosoftCXXNameMangler::manglePointerCVQualifiers(Qualifiers Quals) {
 1817                                                      Qualifiers Quals,
 1885   Qualifiers Quals = T.getLocalQualifiers();
 1951 void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T, Qualifiers,
 2150 void MicrosoftCXXNameMangler::mangleType(const FunctionProtoType *T, Qualifiers,
 2164                                          Qualifiers, SourceRange) {
 2204     Qualifiers Quals = Proto->getMethodQuals();
 2427                                          Qualifiers, SourceRange Range) {
 2459 void MicrosoftCXXNameMangler::mangleType(const EnumType *T, Qualifiers,
 2463 void MicrosoftCXXNameMangler::mangleType(const RecordType *T, Qualifiers,
 2502 void MicrosoftCXXNameMangler::mangleType(const ConstantArrayType *T, Qualifiers,
 2506 void MicrosoftCXXNameMangler::mangleType(const VariableArrayType *T, Qualifiers,
 2511                                          Qualifiers, SourceRange) {
 2515                                          Qualifiers, SourceRange) {
 2563                                          Qualifiers Quals, SourceRange Range) {
 2579                                          Qualifiers, SourceRange Range) {
 2588                                          Qualifiers, SourceRange Range) {
 2599 void MicrosoftCXXNameMangler::mangleType(const PointerType *T, Qualifiers Quals,
 2612                                          Qualifiers Quals, SourceRange Range) {
 2615   case Qualifiers::OCL_None:
 2616   case Qualifiers::OCL_ExplicitNone:
 2618   case Qualifiers::OCL_Autoreleasing:
 2619   case Qualifiers::OCL_Strong:
 2620   case Qualifiers::OCL_Weak:
 2632                                          Qualifiers Quals, SourceRange Range) {
 2644                                          Qualifiers Quals, SourceRange Range) {
 2652 void MicrosoftCXXNameMangler::mangleType(const ComplexType *T, Qualifiers,
 2686 void MicrosoftCXXNameMangler::mangleType(const VectorType *T, Qualifiers Quals,
 2731                                          Qualifiers Quals, SourceRange Range) {
 2736                                          Qualifiers, SourceRange Range) {
 2745                                          Qualifiers, SourceRange Range) {
 2754                                          Qualifiers, SourceRange Range) {
 2762 void MicrosoftCXXNameMangler::mangleType(const ObjCInterfaceType *T, Qualifiers,
 2770                                          Qualifiers Quals, SourceRange Range) {
 2812                                          Qualifiers Quals, SourceRange Range) {
 2823                                          Qualifiers, SourceRange) {
 2828                                          Qualifiers, SourceRange Range) {
 2836 void MicrosoftCXXNameMangler::mangleType(const DependentNameType *T, Qualifiers,
 2846     const DependentTemplateSpecializationType *T, Qualifiers,
 2855 void MicrosoftCXXNameMangler::mangleType(const PackExpansionType *T, Qualifiers,
 2864 void MicrosoftCXXNameMangler::mangleType(const TypeOfType *T, Qualifiers,
 2873 void MicrosoftCXXNameMangler::mangleType(const TypeOfExprType *T, Qualifiers,
 2882 void MicrosoftCXXNameMangler::mangleType(const DecltypeType *T, Qualifiers,
 2892                                          Qualifiers, SourceRange Range) {
 2900 void MicrosoftCXXNameMangler::mangleType(const AutoType *T, Qualifiers,
 2912     const DeducedTemplateSpecializationType *T, Qualifiers, SourceRange Range) {
 2922 void MicrosoftCXXNameMangler::mangleType(const AtomicType *T, Qualifiers,
 2936 void MicrosoftCXXNameMangler::mangleType(const PipeType *T, Qualifiers,
tools/clang/lib/AST/ODRHash.cpp
  700   void VisitQualifiers(Qualifiers Quals) {
tools/clang/lib/AST/QualTypeNames.cpp
  374     Qualifiers Quals = QT.getQualifiers();
  384     Qualifiers Quals = QT.getQualifiers();
  400     Qualifiers Quals = QT.getQualifiers();
  419     Qualifiers Quals = QT.getQualifiers();
  431   Qualifiers PrefixQualifiers = QT.getLocalQualifiers();
tools/clang/lib/AST/Type.cpp
   57 bool Qualifiers::isStrictSupersetOf(Qualifiers Other) const {
  393   Qualifiers quals = split.Quals;
 2328          getObjCLifetime() != Qualifiers::OCL_Weak;
 2351   case Qualifiers::OCL_Strong:
 2353   case Qualifiers::OCL_Weak:
 2366   Qualifiers Qs = getQualifiers();
 2368   case Qualifiers::OCL_Strong:
 2370   case Qualifiers::OCL_Weak:
 3064     *getTrailingObjects<Qualifiers>() = epi.TypeQuals;
 4009 Qualifiers::ObjCLifetime Type::getObjCARCImplicitLifetime() const {
 4011     return Qualifiers::OCL_ExplicitNone;
 4012   return Qualifiers::OCL_Strong;
 4116   case Qualifiers::OCL_None:
 4117   case Qualifiers::OCL_ExplicitNone:
 4118   case Qualifiers::OCL_Autoreleasing:
 4121   case Qualifiers::OCL_Strong:
 4123   case Qualifiers::OCL_Weak:
tools/clang/lib/AST/TypePrinter.cpp
  111     void print(const Type *ty, Qualifiers qs, raw_ostream &OS,
  131     void printBefore(const Type *ty, Qualifiers qs, raw_ostream &OS);
  132     void printAfter(const Type *ty, Qualifiers qs, raw_ostream &OS);
  140   if (TypeQuals & Qualifiers::Const) {
  144   if (TypeQuals & Qualifiers::Volatile) {
  149   if (TypeQuals & Qualifiers::Restrict) {
  176 void TypePrinter::print(const Type *T, Qualifiers Quals, raw_ostream &OS,
  282   Qualifiers Quals = Split.Quals;
  291 void TypePrinter::printBefore(const Type *T,Qualifiers Quals, raw_ostream &OS) {
  344 void TypePrinter::printAfter(const Type *T, Qualifiers Quals, raw_ostream &OS) {
 1768   if (Qualifiers::ObjCLifetime lifetime = getObjCLifetime())
 1769     if (!(lifetime == Qualifiers::OCL_Strong && Policy.SuppressStrongLifetime))
 1830   if (Qualifiers::GC gc = getObjCGCAttr()) {
 1834     if (gc == Qualifiers::Weak)
 1839   if (Qualifiers::ObjCLifetime lifetime = getObjCLifetime()) {
 1840     if (!(lifetime == Qualifiers::OCL_Strong && Policy.SuppressStrongLifetime)){
 1847     case Qualifiers::OCL_None: llvm_unreachable("none but true");
 1848     case Qualifiers::OCL_ExplicitNone: OS << "__unsafe_unretained"; break;
 1849     case Qualifiers::OCL_Strong:
 1854     case Qualifiers::OCL_Weak: OS << "__weak"; break;
 1855     case Qualifiers::OCL_Autoreleasing: OS << "__autoreleasing"; break;
 1873 std::string QualType::getAsString(const Type *ty, Qualifiers qs,
 1886 void QualType::print(const Type *ty, Qualifiers qs,
 1901 void QualType::getAsStringInternal(const Type *ty, Qualifiers qs,
tools/clang/lib/CodeGen/CGBlocks.cpp
  342     Qualifiers::ObjCLifetime Lifetime;
  348                      Qualifiers::ObjCLifetime lifetime,
  375       if (chunk.Lifetime == Qualifiers::OCL_Strong)
  377       if (chunk.Lifetime == Qualifiers::OCL_Weak)
  564                                       Qualifiers::OCL_None,
  585                                         Qualifiers::OCL_None, &CI,
  601     Qualifiers::ObjCLifetime lifetime = VT.getObjCLifetime();
  604       case Qualifiers::OCL_None: llvm_unreachable("impossible");
  605       case Qualifiers::OCL_ExplicitNone:
  606       case Qualifiers::OCL_Autoreleasing:
  609       case Qualifiers::OCL_Strong:
  610       case Qualifiers::OCL_Weak:
  619         lifetime = Qualifiers::OCL_ExplicitNone;
  623         lifetime = Qualifiers::OCL_Strong;
  829         VT.getObjCLifetime() == Qualifiers::OCL_Strong &&
 1119                type.getObjCLifetime() == Qualifiers::OCL_Strong &&
 1131     } else if (type.getObjCLifetime() == Qualifiers::OCL_Strong &&
 1732     Qualifiers QS = T.getQualifiers();
 2642   Qualifiers qs = type.getQualifiers();
 2645   if (Qualifiers::ObjCLifetime lifetime = qs.getObjCLifetime()) {
 2647     case Qualifiers::OCL_None: llvm_unreachable("impossible");
 2650     case Qualifiers::OCL_ExplicitNone:
 2651     case Qualifiers::OCL_Autoreleasing:
 2656     case Qualifiers::OCL_Weak:
 2661     case Qualifiers::OCL_Strong:
 2773   Qualifiers::ObjCLifetime Lifetime;
 2844   Qualifiers::ObjCLifetime ByrefLifetime;
 2868         case Qualifiers::OCL_Strong:
 2871         case Qualifiers::OCL_Weak:
 2874         case Qualifiers::OCL_ExplicitNone:
 2877         case Qualifiers::OCL_None:
tools/clang/lib/CodeGen/CGCall.cpp
 3307         srcLV.getObjCLifetime() == Qualifiers::OCL_Strong) {
tools/clang/lib/CodeGen/CGClass.cpp
  910       Qualifiers Qual = F->getType().getQualifiers();
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 2849   Qualifiers Quals;
 2851     Qualifiers InnerQuals = T.getLocalQualifiers();
 2854     Quals += Qualifiers::removeCommonQualifiers(Quals, InnerQuals);
 3861   Qualifiers::ObjCLifetime Lifetime;
tools/clang/lib/CodeGen/CGDecl.cpp
  597                                     Qualifiers::ObjCLifetime lifetime) {
  599   case Qualifiers::OCL_None:
  602   case Qualifiers::OCL_ExplicitNone:
  606   case Qualifiers::OCL_Strong: {
  617   case Qualifiers::OCL_Autoreleasing:
  621   case Qualifiers::OCL_Weak:
  680       if (srcExpr->getType().getObjCLifetime() != Qualifiers::OCL_Weak)
  742   Qualifiers::ObjCLifetime lifetime = lvalue.getObjCLifetime();
  768   if (lifetime != Qualifiers::OCL_ExplicitNone)
  785     if (lifetime == Qualifiers::OCL_Weak)
  797   case Qualifiers::OCL_None:
  800   case Qualifiers::OCL_Strong: {
  811   case Qualifiers::OCL_ExplicitNone:
  815   case Qualifiers::OCL_Weak: {
  835   case Qualifiers::OCL_Autoreleasing:
  847   if (accessedByInit && lifetime == Qualifiers::OCL_Strong) {
 2431     Qualifiers qs = Ty.getQualifiers();
 2432     if (Qualifiers::ObjCLifetime lt = qs.getObjCLifetime()) {
 2444         lt = Qualifiers::OCL_ExplicitNone;
 2451       if (lt == Qualifiers::OCL_Strong) {
 2477         if (lt == Qualifiers::OCL_Weak) {
tools/clang/lib/CodeGen/CGException.cpp
  573       Qualifiers CaughtTypeQuals;
tools/clang/lib/CodeGen/CGExpr.cpp
  225                                        Qualifiers Quals,
  263     case Qualifiers::OCL_None:
  264     case Qualifiers::OCL_ExplicitNone:
  268     case Qualifiers::OCL_Autoreleasing:
  272     case Qualifiers::OCL_Strong:
  273     case Qualifiers::OCL_Weak:
  288         if (Lifetime == Qualifiers::OCL_Strong) {
  429   if (ownership != Qualifiers::OCL_None &&
  430       ownership != Qualifiers::OCL_ExplicitNone) {
 1388   Qualifiers qs = type.getLocalQualifiers();
 1781   if (LV.getQuals().getObjCLifetime() == Qualifiers::OCL_Weak) {
 1954   if (Qualifiers::ObjCLifetime Lifetime = Dst.getQuals().getObjCLifetime()) {
 1956     case Qualifiers::OCL_None:
 1959     case Qualifiers::OCL_ExplicitNone:
 1963     case Qualifiers::OCL_Strong:
 1971     case Qualifiers::OCL_Weak:
 1979     case Qualifiers::OCL_Autoreleasing:
 4109     if (RecordCVR & Qualifiers::Volatile)
 4132   if (LV.getQuals().getObjCGCAttr() == Qualifiers::Weak)
 4627     case Qualifiers::OCL_Strong:
 4630     case Qualifiers::OCL_Autoreleasing:
 4634     case Qualifiers::OCL_None:
 4635     case Qualifiers::OCL_ExplicitNone:
 4636     case Qualifiers::OCL_Weak:
 4745   Qualifiers BaseQuals;
tools/clang/lib/CodeGen/CGExprCXX.cpp
  127     Qualifiers BaseQuals;
  142     case Qualifiers::OCL_None:
  143     case Qualifiers::OCL_ExplicitNone:
  144     case Qualifiers::OCL_Autoreleasing:
  147     case Qualifiers::OCL_Strong:
  153     case Qualifiers::OCL_Weak:
 1927     case Qualifiers::OCL_None:
 1928     case Qualifiers::OCL_ExplicitNone:
 1929     case Qualifiers::OCL_Autoreleasing:
 1932     case Qualifiers::OCL_Strong:
 1936     case Qualifiers::OCL_Weak:
tools/clang/lib/CodeGen/CGExprScalar.cpp
 3910   case Qualifiers::OCL_Strong:
 3914   case Qualifiers::OCL_Autoreleasing:
 3918   case Qualifiers::OCL_ExplicitNone:
 3922   case Qualifiers::OCL_Weak:
 3928   case Qualifiers::OCL_None:
tools/clang/lib/CodeGen/CGObjC.cpp
  309     if (receiver->getType().getObjCLifetime() != Qualifiers::OCL_Strong)
  348       if (CE->getSubExpr()->getType().getObjCLifetime() == Qualifiers::OCL_Weak)
  861       if (ivarType.getObjCLifetime() == Qualifiers::OCL_Strong)
 1169         if (LV.getQuals().getObjCLifetime() == Qualifiers::OCL_Weak) {
 1803       elementLValue.getQuals().setObjCLifetime(Qualifiers::OCL_ExplicitNone);
 2687 static bool shouldRetainObjCLifetime(Qualifiers::ObjCLifetime lifetime) {
 2689   case Qualifiers::OCL_None:
 2690   case Qualifiers::OCL_ExplicitNone:
 2691   case Qualifiers::OCL_Strong:
 2692   case Qualifiers::OCL_Autoreleasing:
 2695   case Qualifiers::OCL_Weak:
 2726       type.getObjCLifetime() == Qualifiers::OCL_Strong) {
 2745       type.getObjCLifetime() == Qualifiers::OCL_Weak &&
 3035   case Qualifiers::OCL_ExplicitNone:
 3038   case Qualifiers::OCL_Weak:
 3041   case Qualifiers::OCL_Autoreleasing:
 3044   case Qualifiers::OCL_Strong:
 3047   case Qualifiers::OCL_None:
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  447                              ArrayRef<Qualifiers::ObjCLifetime> IvarOwnership);
 1257   int32_t FlagsForOwnership(Qualifiers::ObjCLifetime Ownership) {
 1266       case Qualifiers::OCL_Strong:
 1269       case Qualifiers::OCL_Weak:
 1272       case Qualifiers::OCL_ExplicitNone:
 1275       case Qualifiers::OCL_None:
 1276       case Qualifiers::OCL_Autoreleasing:
 1286                    ArrayRef<Qualifiers::ObjCLifetime> IvarOwnership) override {
 2840                  ArrayRef<Qualifiers::ObjCLifetime> IvarOwnership) {
 3412   SmallVector<Qualifiers::ObjCLifetime, 16> IvarOwnership;
 3461       Qualifiers::ObjCLifetime lt = IVD->getType().getQualifiers().getObjCLifetime();
 3464         case Qualifiers::OCL_Strong:
 3468         case Qualifiers::OCL_Weak:
tools/clang/lib/CodeGen/CGObjCMac.cpp
  982   Qualifiers::ObjCLifetime getBlockCaptureLifetime(QualType QT, bool ByrefLayout);
  985                               Qualifiers::ObjCLifetime LifeTime,
 2251 static Qualifiers::GC GetGCAttrTypeForType(ASTContext &Ctx, QualType FQT,
 2257     return Qualifiers::Strong;
 2260     return Qualifiers::Weak;
 2264     if (pointee) return Qualifiers::GCNone;
 2266     case Qualifiers::OCL_Weak: return Qualifiers::Weak;
 2266     case Qualifiers::OCL_Weak: return Qualifiers::Weak;
 2267     case Qualifiers::OCL_Strong: return Qualifiers::Strong;
 2267     case Qualifiers::OCL_Strong: return Qualifiers::Strong;
 2268     case Qualifiers::OCL_ExplicitNone: return Qualifiers::GCNone;
 2268     case Qualifiers::OCL_ExplicitNone: return Qualifiers::GCNone;
 2269     case Qualifiers::OCL_Autoreleasing: llvm_unreachable("autoreleasing ivar?");
 2270     case Qualifiers::OCL_None: llvm_unreachable("known nonzero");
 2277     return Qualifiers::Strong;
 2285   return Qualifiers::GCNone;
 2424     Qualifiers::GC GCAttr = GetGCAttrTypeForType(CGM.getContext(), type);
 2426     if (GCAttr == Qualifiers::Strong) {
 2437 Qualifiers::ObjCLifetime CGObjCCommonMac::getBlockCaptureLifetime(QualType FQT,
 2445     return Qualifiers::OCL_None;
 2449     return ByrefLayout ? Qualifiers::OCL_ExplicitNone : Qualifiers::OCL_Strong;
 2449     return ByrefLayout ? Qualifiers::OCL_ExplicitNone : Qualifiers::OCL_Strong;
 2451   return Qualifiers::OCL_None;
 2455                                              Qualifiers::ObjCLifetime LifeTime,
 2462   else if (LifeTime == Qualifiers::OCL_Strong)
 2465   else if (LifeTime == Qualifiers::OCL_Weak)
 2468   else if (LifeTime == Qualifiers::OCL_ExplicitNone)
 2921     UpdateRunSkipBlockVars(false, Qualifiers::OCL_None,
 3468   if (type.getObjCLifetime() == Qualifiers::OCL_Weak) {
 5250   Qualifiers::GC GCAttr = GetGCAttrTypeForType(CGM.getContext(), fieldType);
 5253   if ((ForStrongLayout && GCAttr == Qualifiers::Strong)
 5254       || (!ForStrongLayout && GCAttr == Qualifiers::Weak)) {
tools/clang/lib/CodeGen/CGObjCRuntime.cpp
  294   case Qualifiers::OCL_Strong:
  298   case Qualifiers::OCL_None:
  299   case Qualifiers::OCL_ExplicitNone:
  300   case Qualifiers::OCL_Autoreleasing:
  304   case Qualifiers::OCL_Weak:
tools/clang/lib/CodeGen/CGValue.h
  191   Qualifiers Quals;
  227   void Initialize(QualType Type, Qualifiers Quals, CharUnits Alignment,
  260     return Quals.getCVRQualifiers() & ~Qualifiers::Const;
  265   Qualifiers::ObjCLifetime getObjCLifetime() const {
  294     return Quals.getObjCGCAttr() == Qualifiers::Weak;
  297     return Quals.getObjCGCAttr() == Qualifiers::Strong;
  310   const Qualifiers &getQuals() const { return Quals; }
  311   Qualifiers &getQuals() { return Quals; }
  368     Qualifiers qs = type.getQualifiers();
  441   Qualifiers Quals;
  514                               Qualifiers quals,
  557   Qualifiers getQualifiers() const { return Quals; }
  570   Qualifiers::ObjCLifetime getObjCLifetime() const {
tools/clang/lib/CodeGen/CodeGenFunction.h
 2302                         Qualifiers Quals, bool IsInitializer);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
 3014   Qualifiers Quals = PointeeTy.getQualifiers();
 4172       case Qualifiers::OCL_Strong:
 4176       case Qualifiers::OCL_None:
 4177       case Qualifiers::OCL_ExplicitNone:
 4178       case Qualifiers::OCL_Autoreleasing:
 4182       case Qualifiers::OCL_Weak:
tools/clang/lib/Index/USRGeneration.cpp
  638     Qualifiers Q = T.getQualifiers();
tools/clang/lib/Parse/ParseDecl.cpp
 6334       Qualifiers Q = Qualifiers::fromCVRUMask(DS.getTypeQualifiers());
 6334       Qualifiers Q = Qualifiers::fromCVRUMask(DS.getTypeQualifiers());
tools/clang/lib/Sema/SemaCast.cpp
  596                    Qualifiers *CastAwayQualifiers = nullptr) {
  629     Qualifiers SrcQuals, DestQuals;
  641       Qualifiers SrcCvrQuals =
  642           Qualifiers::fromCVRMask(SrcQuals.getCVRQualifiers());
  643       Qualifiers DestCvrQuals =
  644           Qualifiers::fromCVRMask(DestQuals.getCVRQualifiers());
 1222             Qualifiers DestPointeeQuals = DestPointee.getQualifiers();
 1223             Qualifiers SrcPointeeQuals = SrcPointee.getQualifiers();
 2768         Qualifiers CastQuals = CastPtr->getPointeeType().getQualifiers();
 2769         Qualifiers ExprQuals = ExprPtr->getPointeeType().getQualifiers();
 2855   Qualifiers CastAwayQualifiers;
tools/clang/lib/Sema/SemaChecking.cpp
  977   auto Qual = RT.getQualifiers();
 1810   case Qualifiers::OCL_None:
 1811   case Qualifiers::OCL_ExplicitNone:
 1815   case Qualifiers::OCL_Weak:
 1816   case Qualifiers::OCL_Strong:
 1817   case Qualifiers::OCL_Autoreleasing:
 4770   case Qualifiers::OCL_None:
 4771   case Qualifiers::OCL_ExplicitNone:
 4775   case Qualifiers::OCL_Weak:
 4776   case Qualifiers::OCL_Strong:
 4777   case Qualifiers::OCL_Autoreleasing:
 5071   case Qualifiers::OCL_None:
 5072   case Qualifiers::OCL_ExplicitNone:
 5076   case Qualifiers::OCL_Weak:
 5077   case Qualifiers::OCL_Strong:
 5078   case Qualifiers::OCL_Autoreleasing:
13454   if (var->getType().getObjCLifetime() != Qualifiers::OCL_Strong)
13482       if (ivar->getType().getObjCLifetime() != Qualifiers::OCL_Strong)
13519               .getObjCLifetime() == Qualifiers::OCL_Strong))
13909                                     Qualifiers::ObjCLifetime LT,
13915         << (LT == Qualifiers::OCL_ExplicitNone)
13923   if (LT == Qualifiers::OCL_Weak &&
13932   Qualifiers::ObjCLifetime LT = LHS.getObjCLifetime();
13934   if (LT != Qualifiers::OCL_Weak && LT != Qualifiers::OCL_ExplicitNone)
13934   if (LT != Qualifiers::OCL_Weak && LT != Qualifiers::OCL_ExplicitNone)
13959   Qualifiers::ObjCLifetime LT = LHSType.getObjCLifetime();
13961   if (LT == Qualifiers::OCL_Weak) {
13970   if (LT != Qualifiers::OCL_None)
14000       if (checkUnsafeAssignObject(*this, Loc, Qualifiers::OCL_Weak, RHS, true))
tools/clang/lib/Sema/SemaCodeComplete.cpp
  173   Qualifiers ObjectTypeQualifiers;
  251   void setObjectTypeQualifiers(Qualifiers Quals, ExprValueKind Kind) {
 1186                                         const Qualifiers &ObjectQuals,
 1219   Qualifiers CandidateQual = Candidate.getMethodQualifiers();
 1220   Qualifiers IncumbentQual = Incumbent.getMethodQualifiers();
 1297         Qualifiers MethodQuals = Method->getMethodQualifiers();
tools/clang/lib/Sema/SemaDecl.cpp
 6078   Qualifiers::ObjCLifetime lifetime = type.getObjCLifetime();
 6079   if (lifetime == Qualifiers::OCL_Autoreleasing) {
 6097   } else if (lifetime == Qualifiers::OCL_None) {
 6109     if (lifetime && lifetime != Qualifiers::OCL_ExplicitNone &&
11759       if ((VDecl->getType().getObjCLifetime() == Qualifiers::OCL_Strong ||
12359     case Qualifiers::OCL_None:
12360     case Qualifiers::OCL_ExplicitNone:
12361     case Qualifiers::OCL_Autoreleasing:
12364     case Qualifiers::OCL_Weak:
12365     case Qualifiers::OCL_Strong:
13150       T.getObjCLifetime() == Qualifiers::OCL_None &&
13153     Qualifiers::ObjCLifetime lifetime;
13168       lifetime = Qualifiers::OCL_ExplicitNone;
16588                (FD->getType().getObjCLifetime() != Qualifiers::OCL_Strong ||
16642       } else if (FT.getQualifiers().getObjCLifetime() == Qualifiers::OCL_Weak)
tools/clang/lib/Sema/SemaDeclAttr.cpp
 5275   Qualifiers::ObjCLifetime Lifetime = QT.getObjCLifetime();
 5279   if (Lifetime == Qualifiers::OCL_None && !QT->isDependentType())
 5283   case Qualifiers::OCL_None:
 5288   case Qualifiers::OCL_Weak:   // meaningful
 5289   case Qualifiers::OCL_Strong: // meaningful
 5292   case Qualifiers::OCL_ExplicitNone:
 5293   case Qualifiers::OCL_Autoreleasing:
 5295         << (Lifetime == Qualifiers::OCL_Autoreleasing);
 6341   Qualifiers::ObjCLifetime LifetimeQual = Ty.getQualifiers().getObjCLifetime();
 6346   if (LifetimeQual == Qualifiers::OCL_None)
 6351   if (LifetimeQual != Qualifiers::OCL_Strong) {
 6395         Qualifiers::OCL_Strong)
tools/clang/lib/Sema/SemaDeclCXX.cpp
 1403     Qualifiers Q = DecompType.getQualifiers();
 6552     RHSQuals |= Qualifiers::Const;
 6555                                RHSQuals & Qualifiers::Const,
 6556                                RHSQuals & Qualifiers::Volatile,
 6558                                LHSQuals & Qualifiers::Const,
 6559                                LHSQuals & Qualifiers::Volatile);
 7842       if (Quals == Qualifiers::Const)
 7862       if (Quals == Qualifiers::Const)
 8069     if (!RT || RT->getPointeeType().getCVRQualifiers() != Qualifiers::Const) {
 8351     if (FT.getObjCLifetime() == Qualifiers::OCL_Weak) {
12490   Qualifiers OtherQuals = Other->getType().getQualifiers();
tools/clang/lib/Sema/SemaDeclObjC.cpp
  746         Qualifiers quals = typeBound.getQualifiers();
 3750     if (ivar->getType().getObjCLifetime() == Qualifiers::OCL_Weak) {
 3772         (IvarTy.getObjCLifetime() != Qualifiers::OCL_ExplicitNone) &&
tools/clang/lib/Sema/SemaExceptionSpec.cpp
  700     Qualifiers EQuals, HQuals;
tools/clang/lib/Sema/SemaExpr.cpp
  635   if (E->getType().getObjCLifetime() == Qualifiers::OCL_Weak)
 1829       Ty.getObjCLifetime() == Qualifiers::OCL_Weak && !isUnevaluatedContext() &&
 2612   if (IV->getType().getObjCLifetime() == Qualifiers::OCL_Weak) {
 4702     Qualifiers BaseQuals = BaseType.getQualifiers();
 4703     Qualifiers MemberQuals = ResultType.getQualifiers();
 4704     Qualifiers Combined = BaseQuals + MemberQuals;
 6953   Qualifiers lhQual = lhptee.getQualifiers();
 6954   Qualifiers rhQual = rhptee.getQualifiers();
 7030       Qualifiers CompositeQuals = CompositeTy.getQualifiers();
 7903   Qualifiers lhq, rhq;
 8053   Qualifiers LQuals = lhptee.getLocalQualifiers();
 8054   Qualifiers RQuals = rhptee.getLocalQualifiers();
11941       if (LHSType.getObjCLifetime() == Qualifiers::OCL_Strong) {
11951       if (LHSType.getObjCLifetime() == Qualifiers::OCL_Strong ||
14695     Qualifiers lhq = SrcType->getPointeeType().getQualifiers();
14696     Qualifiers rhq = DstType->getPointeeType().getQualifiers();
15837       CaptureType.getObjCLifetime() == Qualifiers::OCL_Autoreleasing) {
15854         PointeeTy.getObjCLifetime() == Qualifiers::OCL_Autoreleasing &&
15975         CaptureType.getObjCLifetime() == Qualifiers::OCL_Autoreleasing) {
tools/clang/lib/Sema/SemaExprCXX.cpp
  445   Qualifiers Quals;
  512     Qualifiers Quals;
 1027       ClassType.removeLocalCVRQualifiers(Qualifiers::CVRMask);
 1068         ClassType.removeLocalCVRQualifiers(Qualifiers::CVRMask);
 1117                                          Qualifiers CXXThisTypeQuals,
 1248       CaptureType.removeLocalCVRQualifiers(Qualifiers::CVRMask);
 1890       AllocType.getObjCLifetime() == Qualifiers::OCL_None &&
 2212       if (BaseAllocType.getObjCLifetime() == Qualifiers::OCL_None &&
 3421       Qualifiers Qs = Pointee.getQualifiers();
 4555       case Qualifiers::OCL_None:
 4556       case Qualifiers::OCL_ExplicitNone:
 4559       case Qualifiers::OCL_Strong:
 4560       case Qualifiers::OCL_Weak:
 4561       case Qualifiers::OCL_Autoreleasing:
 4710         T.getObjCLifetime() == Qualifiers::OCL_Autoreleasing)
 4761         T.getObjCLifetime() == Qualifiers::OCL_Autoreleasing)
 5130     Qualifiers LhsQuals, RhsQuals;
 5897       Qualifiers Qs = LTy.getQualifiers();
 6278       if ((QualifierUnion[I] & Qualifiers::Const) == 0)
 6279         QualifierUnion[I] = QualifierUnion[I] | Qualifiers::Const;
 6285     Qualifiers Quals = Qualifiers::fromCVRMask(CVR);
 6285     Qualifiers Quals = Qualifiers::fromCVRMask(CVR);
 6963         if (DestructedType.getObjCLifetime() == Qualifiers::OCL_None) {
tools/clang/lib/Sema/SemaExprMember.cpp
 1443         if (DE->getType().getObjCLifetime() == Qualifiers::OCL_Weak) {
 1463     if (IV->getType().getObjCLifetime() == Qualifiers::OCL_Weak) {
 1614     Qualifiers BaseQ =
 1784     Qualifiers BaseQuals = BaseType.getQualifiers();
 1793     Qualifiers MemberQuals =
 1798     Qualifiers Combined = BaseQuals + MemberQuals;
tools/clang/lib/Sema/SemaExprObjC.cpp
 3184           IsWeak = ReturnType.getObjCLifetime() & Qualifiers::OCL_Weak;
 4225           QDT.getObjCLifetime() !=  Qualifiers::OCL_None) {
 4386       castType.getObjCLifetime() == Qualifiers::OCL_Weak &&
tools/clang/lib/Sema/SemaInit.cpp
 4180                                            Qualifiers T1Quals,
 4182                                            Qualifiers T2Quals,
 4211   Qualifiers T1Quals;
 4223     Qualifiers T2Quals;
 4666   Qualifiers T1Quals;
 4669   Qualifiers T2Quals;
 4697                                            Qualifiers T1Quals,
 4699                                            Qualifiers T2Quals,
 4859     auto T1QualsIgnoreAS = T1Quals;
 4860     auto T2QualsIgnoreAS = T2Quals;
 4872       auto T4Quals = cv1T4.getQualifiers();
 4984     if (!Qualifiers::isAddressSpaceSupersetOf(T1Quals.getAddressSpace(),
 5355     if (e->getType().getObjCLifetime() == Qualifiers::OCL_Weak)
 7838   Qualifiers TyQualifiers = ETy.getQualifiers();
 8901     Qualifiers DroppedQualifiers =
 8912           << Qualifiers::fromCVRMask(DroppedQualifiers.getCVRQualifiers())
tools/clang/lib/Sema/SemaLookup.cpp
 3291     LookupSpecialMember(Class, CXXCopyConstructor, Quals & Qualifiers::Const,
 3292                         Quals & Qualifiers::Volatile, false, false, false);
 3301     LookupSpecialMember(Class, CXXMoveConstructor, Quals & Qualifiers::Const,
 3302                         Quals & Qualifiers::Volatile, false, false, false);
 3335     LookupSpecialMember(Class, CXXCopyAssignment, Quals & Qualifiers::Const,
 3336                         Quals & Qualifiers::Volatile, RValueThis,
 3337                         ThisQuals & Qualifiers::Const,
 3338                         ThisQuals & Qualifiers::Volatile);
 3351     LookupSpecialMember(Class, CXXMoveAssignment, Quals & Qualifiers::Const,
 3352                         Quals & Qualifiers::Volatile, RValueThis,
 3353                         ThisQuals & Qualifiers::Const,
 3354                         ThisQuals & Qualifiers::Volatile);
tools/clang/lib/Sema/SemaObjCProperty.cpp
   38 static Qualifiers::ObjCLifetime getImpliedARCOwnership(
   46     return Qualifiers::OCL_Strong;
   48     return Qualifiers::OCL_Weak;
   50     return Qualifiers::OCL_ExplicitNone;
   57     return Qualifiers::OCL_ExplicitNone;
   60   return Qualifiers::OCL_None;
   71   Qualifiers::ObjCLifetime propertyLifetime
   76   Qualifiers::ObjCLifetime expectedLifetime
   84     if (propertyLifetime == Qualifiers::OCL_Strong) {
   86     } else if (propertyLifetime == Qualifiers::OCL_Weak) {
  139     case Qualifiers::OCL_Weak:
  141     case Qualifiers::OCL_Strong:
  143     case Qualifiers::OCL_ExplicitNone:
  145     case Qualifiers::OCL_Autoreleasing:
  146     case Qualifiers::OCL_None:
  510         PIDecl->getType().getObjCLifetime() == Qualifiers::OCL_None) {
  720   Qualifiers::ObjCLifetime ivarLifetime = ivarType.getObjCLifetime();
  723   Qualifiers::ObjCLifetime propertyLifetime =
  732   if ((ivarLifetime == Qualifiers::OCL_None &&
  734       ivarLifetime == Qualifiers::OCL_Autoreleasing)
  741   if (ivarLifetime == Qualifiers::OCL_ExplicitNone &&
  742       propertyLifetime == Qualifiers::OCL_Strong &&
  747       split.Quals.setObjCLifetime(Qualifiers::OCL_Strong);
  755   case Qualifiers::OCL_Strong:
  762   case Qualifiers::OCL_Weak:
  768   case Qualifiers::OCL_ExplicitNone:
  776   case Qualifiers::OCL_Autoreleasing:
  779   case Qualifiers::OCL_None:
  796   Qualifiers::ObjCLifetime propertyLifetime =
  799   if (propertyLifetime != Qualifiers::OCL_None)
  809   Qualifiers::ObjCLifetime ivarLifetime = ivarType.getObjCLifetime();
  810   if (ivarLifetime == Qualifiers::OCL_Strong)
  812   else if (ivarLifetime == Qualifiers::OCL_Weak)
 1212             Context.getObjCGCQualType(PropertyIvarType, Qualifiers::Weak);
 1279           Qualifiers::ObjCLifetime lifetime =
 1283           Qualifiers qs;
tools/clang/lib/Sema/SemaOverload.cpp
 1204     auto OldQuals = OldMethod->getMethodQualifiers();
 1205     auto NewQuals = NewMethod->getMethodQualifiers();
 2230   Qualifiers Quals = CanonFromPointee.getQualifiers();
 2423 static QualType AdoptQualifiers(ASTContext &Context, QualType T, Qualifiers Qs){
 2424   Qualifiers TQs = T.getQualifiers();
 2446   Qualifiers FromQualifiers = FromType.getQualifiers();
 2632   Qualifiers ToQuals = ToPointee.getQualifiers();
 2634       ToQuals.getObjCLifetime() != Qualifiers::OCL_Autoreleasing ||
 2645   Qualifiers FromQuals = FromPointee.getQualifiers();
 2647       (FromQuals.getObjCLifetime() != Qualifiers::OCL_Strong &&
 2648        FromQuals.getObjCLifetime() != Qualifiers::OCL_Weak))
 2652   FromQuals.setObjCLifetime(Qualifiers::OCL_Autoreleasing);
 3107 static bool isNonTrivialObjCLifetimeConversion(Qualifiers FromQuals,
 3108                                                Qualifiers ToQuals) {
 3111       ToQuals.getObjCLifetime() == Qualifiers::OCL_ExplicitNone)
 3150     Qualifiers FromQuals = FromType.getQualifiers();
 3151     Qualifiers ToQuals = ToType.getQualifiers();
 3199   Qualifiers FromQuals = FromType.getQualifiers();
 3200   Qualifiers ToQuals = ToType.getQualifiers();
 3958     Qualifiers T1Quals, T2Quals;
 4053   Qualifiers T1Quals, T2Quals;
 4386   Qualifiers T1Quals, T2Quals;
 4778     Qualifiers T1Quals = T1.getQualifiers();
 4779     Qualifiers T2Quals = T2.getQualifiers();
 5173   Qualifiers Quals = Method->getMethodQualifiers();
 5225     Qualifiers QualsImplicitParamType = ImplicitParamType.getQualifiers();
 5226     Qualifiers QualsFromType = FromTypeCanon.getQualifiers();
 5327       Qualifiers FromQs = FromRecordType.getQualifiers();
 5328       Qualifiers ToQs = DestType.getQualifiers();
 6197     if (!Qualifiers::isAddressSpaceSupersetOf(
 7579                                                const Qualifiers &VisibleQuals);
 7597                              const Qualifiers &VisibleTypeConversionsQuals);
 7638                                              const Qualifiers &VisibleQuals) {
 7667   for (unsigned CVR = BaseCVR+1; CVR <= Qualifiers::CVRMask; ++CVR) {
 7670     if ((CVR & Qualifiers::Volatile) && !hasVolatile) continue;
 7674     if ((CVR & Qualifiers::Restrict) &&
 7727   for (unsigned CVR = BaseCVR+1; CVR <= Qualifiers::CVRMask; ++CVR) {
 7751                                                const Qualifiers &VisibleQuals) {
 7855 static  Qualifiers CollectVRQualifiers(ASTContext &Context, Expr* ArgExpr) {
 7856     Qualifiers VRQuals;
 7914   Qualifiers VisibleTypeConversionsQuals;
 8007             S.Context.getCVRQualifiedType(CandidateTy, Qualifiers::Restrict));
 8014                                             (Qualifiers::Volatile |
 8015                                              Qualifiers::Restrict)));
 8025     Qualifiers VisibleTypeConversionsQuals,
 8599                                               (Qualifiers::Volatile |
 8600                                                Qualifiers::Restrict)));
 8648                                                 (Qualifiers::Volatile |
 8649                                                  Qualifiers::Restrict)));
 8940   Qualifiers VisibleTypeConversionsQuals;
 9974     Qualifiers FromQs = CFromTy.getQualifiers();
 9975     Qualifiers ToQs = CToTy.getQualifiers();
10113       Qualifiers FromQs = CFromTy.getQualifiers();
10114       Qualifiers ToQs = CToTy.getQualifiers();
10656     Qualifiers QualsForPrinting;
13329     Qualifiers funcQuals = proto->getMethodQuals();
13334     Qualifiers objectQuals = objectType.getQualifiers();
13336     Qualifiers difference = objectQuals - funcQuals;
tools/clang/lib/Sema/SemaPseudoObject.cpp
  603   return T.getObjCLifetime() == Qualifiers::OCL_Weak;
  857     if (propType.getObjCLifetime() == Qualifiers::OCL_Weak &&
tools/clang/lib/Sema/SemaStmt.cpp
  115     if (type.getLocalQualifiers().getObjCLifetime() == Qualifiers::OCL_Strong) {
tools/clang/lib/Sema/SemaTemplate.cpp
 4588     Qualifiers Qs;
 4589     Qs.setObjCLifetime(Qualifiers::OCL_Strong);
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 1114   Qualifiers ParamQs = ParamType.getQualifiers();
 1115   Qualifiers ArgQs = ArgType.getQualifiers();
 1269       Qualifiers ParamQuals = Param.getQualifiers();
 1270       Qualifiers ArgQuals = Arg.getQualifiers();
 1275            ArgQuals.getObjCLifetime() == Qualifiers::OCL_ExplicitNone &&
 1298       Qualifiers Quals;
 1344       Qualifiers Quals;
 1375     Qualifiers DeducedQs = DeducedType.getQualifiers();
 1376     Qualifiers ParamQs = Param.getQualifiers();
 1402       DeducedQs.setObjCLifetime(Qualifiers::OCL_Strong);
 1452       Qualifiers Quals;
 3080     Qualifiers ThisTypeQuals;
 3205     Qualifiers AQuals = A.getQualifiers();
 3206     Qualifiers DeducedAQuals = DeducedA.getQualifiers();
 3213         ((DeducedAQuals.getObjCLifetime() == Qualifiers::OCL_Strong &&
 3214           AQuals.getObjCLifetime() == Qualifiers::OCL_None) ||
 3216           DeducedAQuals.getObjCLifetime() == Qualifiers::OCL_ExplicitNone))) {
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  984                                         Qualifiers ThisTypeQuals,
 1504                                  Qualifiers ThisTypeQuals,
 1743                                 Qualifiers ThisTypeQuals) {
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 3820   Qualifiers ThisTypeQuals;
tools/clang/lib/Sema/SemaType.cpp
 1768                                   Qualifiers Qs, const DeclSpec *DS) {
 1853   Qualifiers Q = Qualifiers::fromCVRMask(CVR);
 1853   Qualifiers Q = Qualifiers::fromCVRMask(CVR);
 1869       type.getObjCLifetime() != Qualifiers::OCL_None)
 1872   Qualifiers::ObjCLifetime implicitLifetime = Qualifiers::OCL_None;
 1872   Qualifiers::ObjCLifetime implicitLifetime = Qualifiers::OCL_None;
 1879     implicitLifetime = Qualifiers::OCL_ExplicitNone;
 1885     implicitLifetime = Qualifiers::OCL_ExplicitNone;
 1906     implicitLifetime = Qualifiers::OCL_Strong;
 1910   Qualifiers qs;
 2679                                             Qualifiers::ObjCLifetime ownership,
 2746     Qualifiers qs;
 2749       qs.addObjCLifetime(Qualifiers::OCL_ExplicitNone);
 2751       qs.addObjCLifetime(Qualifiers::OCL_Autoreleasing);
 2772     transferARCOwnershipToDeclaratorChunk(state, Qualifiers::OCL_Autoreleasing,
 4461         T = S.BuildQualifiedType(T, DeclType.Loc, Qualifiers::Restrict);
 5301                                            Qualifiers::ObjCLifetime ownership) {
 5303       declSpecTy.getObjCLifetime() == Qualifiers::OCL_None) {
 5304     Qualifiers qs;
 5311                                             Qualifiers::ObjCLifetime ownership,
 5323   case Qualifiers::OCL_None: llvm_unreachable("no ownership!");
 5324   case Qualifiers::OCL_ExplicitNone: attrStr = "none"; break;
 5325   case Qualifiers::OCL_Strong: attrStr = "strong"; break;
 5326   case Qualifiers::OCL_Weak: attrStr = "weak"; break;
 5327   case Qualifiers::OCL_Autoreleasing: attrStr = "autoreleasing"; break;
 5349                                  Qualifiers::ObjCLifetime ownership) {
 5405     Qualifiers::ObjCLifetime ownership = Context.getInnerObjCOwnership(FromTy);
 5406     if (ownership != Qualifiers::OCL_None)
 5916         Qualifiers::MaxAddressSpace - (unsigned)LangAS::FirstTargetAddressSpace;
 6109   Qualifiers::ObjCLifetime lifetime;
 6111     lifetime = Qualifiers::OCL_ExplicitNone;
 6113     lifetime = Qualifiers::OCL_Strong;
 6115     lifetime = Qualifiers::OCL_Weak;
 6117     lifetime = Qualifiers::OCL_Autoreleasing;
 6127       lifetime != Qualifiers::OCL_Weak &&
 6128       lifetime != Qualifiers::OCL_ExplicitNone) {
 6135   if (Qualifiers::ObjCLifetime previousLifetime
 6163     case Qualifiers::OCL_None:
 6164     case Qualifiers::OCL_ExplicitNone:
 6166     case Qualifiers::OCL_Strong: name = "__strong"; break;
 6167     case Qualifiers::OCL_Weak: name = "__weak"; break;
 6168     case Qualifiers::OCL_Autoreleasing: name = "__autoreleasing"; break;
 6186       lifetime == Qualifiers::OCL_ExplicitNone) {
 6218   if (lifetime == Qualifiers::OCL_Weak &&
 6235   if (lifetime == Qualifiers::OCL_Weak) {
 6265   if (type.getObjCGCAttr() != Qualifiers::GCNone) {
 6278   Qualifiers::GC GCAttr;
 6288     GCAttr = Qualifiers::Weak;
 6290     GCAttr = Qualifiers::Strong;
tools/clang/lib/Sema/TreeTransform.h
  613                                       Qualifiers ThisTypeQuals,
 4368   Qualifiers Quals = TL.getType().getLocalQualifiers();
 4396     Quals = Qualifiers::fromCVRMask(Qualifiers::Restrict);
 4396     Quals = Qualifiers::fromCVRMask(Qualifiers::Restrict);
 4412         Qualifiers Qs = Replacement.getQualifiers();
 4421         Qualifiers Qs = Deduced.getQualifiers();
 5385     Qualifiers ThisTypeQuals, Fn TransformExceptionSpec) {
tools/clang/lib/Serialization/ASTReader.cpp
 6355     Qualifiers Quals = Qualifiers::fromOpaqueValue(Record[Idx++]);
 6355     Qualifiers Quals = Qualifiers::fromOpaqueValue(Record[Idx++]);
 6520     EPI.TypeQuals = Qualifiers::fromOpaqueValue(Record[Idx++]);
 7262   unsigned FastQuals = ID & Qualifiers::FastMask;
 7263   unsigned Index = ID >> Qualifiers::FastWidth;
 7519   unsigned FastQuals = LocalID & Qualifiers::FastMask;
 7520   unsigned LocalIndex = LocalID >> Qualifiers::FastWidth;
 7533   return (GlobalIndex << Qualifiers::FastWidth) | FastQuals;
tools/clang/lib/Serialization/ASTWriter.cpp
  157         Qualifiers Qs = T.getLocalQualifiers();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
  115   if (Ty->getPointeeType().getObjCLifetime() != Qualifiers::OCL_Autoreleasing)
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  459     Qualifiers Quals1, Quals2;
tools/clang/tools/extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
  500       builder << Qualifiers::fromOpaqueValue(Info.getRawArg(Index));
tools/clang/tools/extra/clang-tidy/misc/MisplacedConstCheck.cpp
   38   Qualifiers Quals = QT.getLocalQualifiers();
   42       QualType(QT->getPointeeType().getTypePtr(), Qualifiers::Const));
tools/clang/tools/extra/clang-tidy/utils/TypeTraits.cpp
  107     case Qualifiers::OCL_ExplicitNone:
  110     case Qualifiers::OCL_Strong:
  111     case Qualifiers::OCL_Weak:
  112     case Qualifiers::OCL_Autoreleasing:
  115     case Qualifiers::OCL_None:
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
 2412         if (type_quals & clang::Qualifiers::Const)
 3142                   type_quals |= clang::Qualifiers::Const;
 3144                   type_quals |= clang::Qualifiers::Volatile;
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
  639       type_quals |= clang::Qualifiers::Const;
  641       type_quals |= clang::Qualifiers::Volatile;
tools/lldb/source/Symbol/ClangASTContext.cpp
 2115   proto_info.TypeQuals = clang::Qualifiers::fromFastMask(type_quals);
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   73     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
   83     constexpr _Tp&&
   84     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
usr/include/c++/7.4.0/bits/stl_pair.h
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  209     : private __pair_base<_T1, _T2>
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  311        constexpr pair(_U1&& __x, const _T2& __y)
  318        explicit constexpr pair(_U1&& __x, const _T2& __y)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  380 		       is_copy_assignable<_T2>>::value,
  391 		       is_move_assignable<_T2>>::value,
usr/include/c++/7.4.0/tuple
  125       constexpr _Head_base(const _Head& __h)
  132         constexpr _Head_base(_UHead&& __h)
  159       static constexpr _Head&
  162       static constexpr const _Head&
  210       constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
  216         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
  242 	_Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
  248 		    const _Head& __head, const _Tail&... __tail)
  350       static constexpr _Head&
  353       static constexpr const _Head&
  360       constexpr _Tuple_impl(const _Head& __head)
  365         constexpr _Tuple_impl(_UHead&& __head)
  390 		    const _Head& __head)
  473       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
  479       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
  485       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
  491       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
  947         constexpr tuple(const _T1& __a1, const _T2& __a2)
  956         explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
  971         constexpr tuple(_U1&& __a1, _U2&& __a2)
 1066 	tuple(allocator_arg_t __tag, const _Alloc& __a)
 1078 	      const _T1& __a1, const _T2& __a2)
 1090 	      const _T1& __a1, const _T2& __a2)
 1241         operator=(const pair<_U1, _U2>& __in)
 1250         operator=(pair<_U1, _U2>&& __in)
 1253 	  this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
 1588     constexpr tuple<_Elements&...>
 1589     tie(_Elements&... __args) noexcept
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
  984       typedef decltype(__test<_Tp, _Arg>(0)) type;
  989     : public __and_<is_destructible<_Tp>,
  990                     __is_direct_constructible_impl<_Tp, _Arg>>
 1072 			 __is_direct_constructible_ref_cast<_Tp, _Arg>,
 1073 			 __is_direct_constructible_new_safe<_Tp, _Arg>
 1079     : public __is_direct_constructible_new<_Tp, _Arg>::type
 1119     : public __is_direct_constructible<_Tp, _Arg>
 1130     : public __is_constructible_impl<_Tp, _Args...>::type
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1292     : public __is_copy_assignable_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 1526 	static void __test_aux(_To1);
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1545     : public __is_convertible_helper<_From, _To>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };