Lines Matching refs:ClassDecl

1657 void Sema::ActOnBaseSpecifiers(Decl *ClassDecl,  in ActOnBaseSpecifiers()  argument
1659 if (!ClassDecl || Bases.empty()) in ActOnBaseSpecifiers()
1662 AdjustDeclIfTemplate(ClassDecl); in ActOnBaseSpecifiers()
1663 AttachBaseSpecifiers(cast<CXXRecordDecl>(ClassDecl), Bases); in ActOnBaseSpecifiers()
2747 CXXRecordDecl *ClassDecl, in FindBaseInitializer() argument
2753 for (const auto &Base : ClassDecl->bases()) { in FindBaseInitializer()
2771 if (SemaRef.IsDerivedFrom(ClassDecl->getLocation(), in FindBaseInitializer()
2772 SemaRef.Context.getTypeDeclType(ClassDecl), in FindBaseInitializer()
2828 explicit MemInitializerValidatorCCC(CXXRecordDecl *ClassDecl) in MemInitializerValidatorCCC() argument
2829 : ClassDecl(ClassDecl) {} in MemInitializerValidatorCCC()
2834 return Member->getDeclContext()->getRedeclContext()->Equals(ClassDecl); in ValidateCandidate()
2841 CXXRecordDecl *ClassDecl; member in __anonb9d573a20311::MemInitializerValidatorCCC
2877 CXXRecordDecl *ClassDecl = Constructor->getParent(); in BuildMemInitializer() local
2891 DeclContext::lookup_result Result = ClassDecl->lookup(MemberOrBase); in BuildMemInitializer()
2949 llvm::make_unique<MemInitializerValidatorCCC>(ClassDecl), in BuildMemInitializer()
2950 CTK_ErrorRecovery, ClassDecl))) { in BuildMemInitializer()
2962 if (FindBaseInitializer(*this, ClassDecl, in BuildMemInitializer()
3010 return BuildBaseInitializer(BaseType, TInfo, Init, ClassDecl, EllipsisLoc); in BuildMemInitializer()
3138 CXXRecordDecl *ClassDecl) { in BuildDelegatingInitializer() argument
3155 QualType(ClassDecl->getTypeForDecl(), 0)); in BuildDelegatingInitializer()
3194 Expr *Init, CXXRecordDecl *ClassDecl, in BuildBaseInitializer() argument
3233 if (Context.hasSameUnqualifiedType(QualType(ClassDecl->getTypeForDecl(),0), in BuildBaseInitializer()
3235 return BuildDelegatingInitializer(BaseTInfo, Init, ClassDecl); in BuildBaseInitializer()
3237 FindBaseInitializer(*this, ClassDecl, BaseType, DirectBaseSpec, in BuildBaseInitializer()
3250 if (ClassDecl->hasAnyDependentBases()) in BuildBaseInitializer()
3254 << BaseType << Context.getTypeDeclType(ClassDecl) in BuildBaseInitializer()
3874 CXXRecordDecl *ClassDecl = Constructor->getParent()->getDefinition(); in SetCtorInitializers() local
3875 if (!ClassDecl) in SetCtorInitializers()
3905 for (auto &I : ClassDecl->bases()) { in SetCtorInitializers()
3911 for (auto &VBase : ClassDecl->vbases()) { in SetCtorInitializers()
3918 if (ClassDecl->isAbstract()) { in SetCtorInitializers()
3922 << VBase.getType() << ClassDecl; in SetCtorInitializers()
3923 DiagnoseAbstractType(ClassDecl); in SetCtorInitializers()
3927 } else if (!AnyErrors && !ClassDecl->isAbstract()) { in SetCtorInitializers()
3946 for (auto &Base : ClassDecl->bases()) { in SetCtorInitializers()
3968 for (auto *Mem : ClassDecl->decls()) { in SetCtorInitializers()
3994 assert(ClassDecl->hasFlexibleArrayMember() && in SetCtorInitializers()
4074 const CXXRecordDecl *ClassDecl = Constructor->getParent(); in DiagnoseBaseOrMemInitializerOrder() local
4077 for (const auto &VBase : ClassDecl->vbases()) in DiagnoseBaseOrMemInitializerOrder()
4081 for (const auto &Base : ClassDecl->bases()) { in DiagnoseBaseOrMemInitializerOrder()
4088 for (auto *Field : ClassDecl->fields()) { in DiagnoseBaseOrMemInitializerOrder()
4275 CXXRecordDecl *ClassDecl) { in MarkBaseAndMemberDestructorsReferenced() argument
4278 if (ClassDecl->isDependentContext() || ClassDecl->isUnion()) in MarkBaseAndMemberDestructorsReferenced()
4287 for (auto *Field : ClassDecl->fields()) { in MarkBaseAndMemberDestructorsReferenced()
4324 for (const auto &Base : ClassDecl->bases()) { in MarkBaseAndMemberDestructorsReferenced()
4347 Context.getTypeDeclType(ClassDecl)); in MarkBaseAndMemberDestructorsReferenced()
4354 for (const auto &VBase : ClassDecl->vbases()) { in MarkBaseAndMemberDestructorsReferenced()
4372 ClassDecl->getLocation(), Dtor, in MarkBaseAndMemberDestructorsReferenced()
4374 << Context.getTypeDeclType(ClassDecl) << VBase.getType(), in MarkBaseAndMemberDestructorsReferenced()
4375 Context.getTypeDeclType(ClassDecl)) == in MarkBaseAndMemberDestructorsReferenced()
4378 Context.getTypeDeclType(ClassDecl), VBase.getType(), in MarkBaseAndMemberDestructorsReferenced()
4379 diag::err_access_dtor_vbase, 0, ClassDecl->getLocation(), in MarkBaseAndMemberDestructorsReferenced()
5158 specialMemberIsConstexpr(Sema &S, CXXRecordDecl *ClassDecl, in specialMemberIsConstexpr() argument
5168 Inherited->findConstructorForBase(ClassDecl, InheritedCtor).first; in specialMemberIsConstexpr()
5174 return ClassDecl->hasConstexprDefaultConstructor(); in specialMemberIsConstexpr()
5177 lookupCallFromSpecialMember(S, ClassDecl, CSM, Quals, ConstRHS); in specialMemberIsConstexpr()
5188 Sema &S, CXXRecordDecl *ClassDecl, Sema::CXXSpecialMember CSM, in defaultedSpecialMemberIsConstexpr() argument
5207 return ClassDecl->defaultedDefaultConstructorIsConstexpr(); in defaultedSpecialMemberIsConstexpr()
5234 if (Ctor && ClassDecl->isUnion()) in defaultedSpecialMemberIsConstexpr()
5236 ? ClassDecl->hasInClassInitializer() || in defaultedSpecialMemberIsConstexpr()
5237 !ClassDecl->hasVariantMembers() in defaultedSpecialMemberIsConstexpr()
5241 if (Ctor && ClassDecl->getNumVBases()) in defaultedSpecialMemberIsConstexpr()
5246 if (!Ctor && !ClassDecl->isLiteral()) in defaultedSpecialMemberIsConstexpr()
5253 for (const auto &B : ClassDecl->bases()) { in defaultedSpecialMemberIsConstexpr()
5270 for (const auto *F : ClassDecl->fields()) { in defaultedSpecialMemberIsConstexpr()
6604 void Sema::AddImplicitlyDeclaredMembersToClass(CXXRecordDecl *ClassDecl) { in AddImplicitlyDeclaredMembersToClass() argument
6605 if (ClassDecl->needsImplicitDefaultConstructor()) { in AddImplicitlyDeclaredMembersToClass()
6608 if (ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
6609 DeclareImplicitDefaultConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
6612 if (ClassDecl->needsImplicitCopyConstructor()) { in AddImplicitlyDeclaredMembersToClass()
6618 if (ClassDecl->needsOverloadResolutionForCopyConstructor() || in AddImplicitlyDeclaredMembersToClass()
6619 ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
6620 DeclareImplicitCopyConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
6623 if (getLangOpts().CPlusPlus11 && ClassDecl->needsImplicitMoveConstructor()) { in AddImplicitlyDeclaredMembersToClass()
6626 if (ClassDecl->needsOverloadResolutionForMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
6627 ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
6628 DeclareImplicitMoveConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
6631 if (ClassDecl->needsImplicitCopyAssignment()) { in AddImplicitlyDeclaredMembersToClass()
6638 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
6639 ClassDecl->needsOverloadResolutionForCopyAssignment() || in AddImplicitlyDeclaredMembersToClass()
6640 ClassDecl->hasInheritedAssignment()) in AddImplicitlyDeclaredMembersToClass()
6641 DeclareImplicitCopyAssignment(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
6644 if (getLangOpts().CPlusPlus11 && ClassDecl->needsImplicitMoveAssignment()) { in AddImplicitlyDeclaredMembersToClass()
6648 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
6649 ClassDecl->needsOverloadResolutionForMoveAssignment() || in AddImplicitlyDeclaredMembersToClass()
6650 ClassDecl->hasInheritedAssignment()) in AddImplicitlyDeclaredMembersToClass()
6651 DeclareImplicitMoveAssignment(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
6654 if (ClassDecl->needsImplicitDestructor()) { in AddImplicitlyDeclaredMembersToClass()
6661 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
6662 ClassDecl->needsOverloadResolutionForDestructor()) in AddImplicitlyDeclaredMembersToClass()
6663 DeclareImplicitDestructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
6881 CXXRecordDecl *ClassDecl in CheckConstructor() local
6883 if (!ClassDecl) in CheckConstructor()
6898 QualType ClassTy = Context.getTagDeclType(ClassDecl); in CheckConstructor()
7245 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(Conversion->getDeclContext()); in ActOnConversionDeclarator() local
7259 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in ActOnConversionDeclarator()
8975 CXXRecordDecl *ClassDecl = MD->getParent(); in ComputeDefaultedDefaultCtorExceptionSpec() local
8981 if (ClassDecl->isInvalidDecl()) in ComputeDefaultedDefaultCtorExceptionSpec()
8985 for (const auto &B : ClassDecl->bases()) { in ComputeDefaultedDefaultCtorExceptionSpec()
9000 for (const auto &B : ClassDecl->vbases()) { in ComputeDefaultedDefaultCtorExceptionSpec()
9012 for (const auto *F : ClassDecl->fields()) { in ComputeDefaultedDefaultCtorExceptionSpec()
9036 CXXRecordDecl *ClassDecl = CD->getParent(); in ComputeInheritingCtorExceptionSpec() local
9041 if (ClassDecl->isInvalidDecl()) in ComputeInheritingCtorExceptionSpec()
9050 VBase ? ClassDecl->vbases() : ClassDecl->bases()) { in ComputeInheritingCtorExceptionSpec()
9070 for (const auto *F : ClassDecl->fields()) { in ComputeInheritingCtorExceptionSpec()
9133 CXXRecordDecl *ClassDecl) { in DeclareImplicitDefaultConstructor() argument
9140 assert(ClassDecl->needsImplicitDefaultConstructor() && in DeclareImplicitDefaultConstructor()
9143 DeclaringSpecialMember DSM(*this, ClassDecl, CXXDefaultConstructor); in DeclareImplicitDefaultConstructor()
9147 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitDefaultConstructor()
9153 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in DeclareImplicitDefaultConstructor()
9154 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitDefaultConstructor()
9159 Context, ClassDecl, ClassLoc, NameInfo, /*Type*/QualType(), in DeclareImplicitDefaultConstructor()
9166 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXDefaultConstructor, in DeclareImplicitDefaultConstructor()
9178 DefaultCon->setTrivial(ClassDecl->hasTrivialDefaultConstructor()); in DeclareImplicitDefaultConstructor()
9183 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitDefaultConstructor()
9191 ClassDecl->addDecl(DefaultCon); in DeclareImplicitDefaultConstructor()
9203 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineImplicitDefaultConstructor() local
9204 assert(ClassDecl && "DefineImplicitDefaultConstructor - invalid constructor"); in DefineImplicitDefaultConstructor()
9211 << CXXDefaultConstructor << Context.getTagDeclType(ClassDecl); in DefineImplicitDefaultConstructor()
9227 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitDefaultConstructor()
9333 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineInheritingConstructor() local
9404 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineInheritingConstructor()
9415 CXXRecordDecl *ClassDecl = MD->getParent(); in ComputeDefaultedDtorExceptionSpec() local
9421 if (ClassDecl->isInvalidDecl()) in ComputeDefaultedDtorExceptionSpec()
9425 for (const auto &B : ClassDecl->bases()) { in ComputeDefaultedDtorExceptionSpec()
9435 for (const auto &B : ClassDecl->vbases()) { in ComputeDefaultedDtorExceptionSpec()
9442 for (const auto *F : ClassDecl->fields()) { in ComputeDefaultedDtorExceptionSpec()
9452 CXXDestructorDecl *Sema::DeclareImplicitDestructor(CXXRecordDecl *ClassDecl) { in DeclareImplicitDestructor() argument
9457 assert(ClassDecl->needsImplicitDestructor()); in DeclareImplicitDestructor()
9459 DeclaringSpecialMember DSM(*this, ClassDecl, CXXDestructor); in DeclareImplicitDestructor()
9465 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in DeclareImplicitDestructor()
9466 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitDestructor()
9471 = CXXDestructorDecl::Create(Context, ClassDecl, ClassLoc, NameInfo, in DeclareImplicitDestructor()
9478 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXDestructor, in DeclareImplicitDestructor()
9490 Destructor->setTrivial(ClassDecl->hasTrivialDestructor()); in DeclareImplicitDestructor()
9495 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitDestructor()
9504 ClassDecl->addDecl(Destructor); in DeclareImplicitDestructor()
9515 CXXRecordDecl *ClassDecl = Destructor->getParent(); in DefineImplicitDestructor() local
9516 assert(ClassDecl && "DefineImplicitDestructor - invalid destructor"); in DefineImplicitDestructor()
9529 << CXXDestructor << Context.getTagDeclType(ClassDecl); in DefineImplicitDestructor()
9545 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitDestructor()
9639 void Sema::AdjustDestructorExceptionSpec(CXXRecordDecl *ClassDecl, in AdjustDestructorExceptionSpec() argument
9901 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(RecordTy->getDecl()); in buildSingleCopyAssignRecursively() local
9907 S.LookupQualifiedName(OpLookup, ClassDecl, false); in buildSingleCopyAssignRecursively()
10094 CXXRecordDecl *ClassDecl = MD->getParent(); in ComputeDefaultedCopyAssignmentExceptionSpec() local
10097 if (ClassDecl->isInvalidDecl()) in ComputeDefaultedCopyAssignmentExceptionSpec()
10115 for (const auto &Base : ClassDecl->bases()) { in ComputeDefaultedCopyAssignmentExceptionSpec()
10126 for (const auto &Base : ClassDecl->vbases()) { in ComputeDefaultedCopyAssignmentExceptionSpec()
10134 for (const auto *Field : ClassDecl->fields()) { in ComputeDefaultedCopyAssignmentExceptionSpec()
10148 CXXMethodDecl *Sema::DeclareImplicitCopyAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitCopyAssignment() argument
10153 assert(ClassDecl->needsImplicitCopyAssignment()); in DeclareImplicitCopyAssignment()
10155 DeclaringSpecialMember DSM(*this, ClassDecl, CXXCopyAssignment); in DeclareImplicitCopyAssignment()
10159 QualType ArgType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitCopyAssignment()
10161 bool Const = ClassDecl->implicitCopyAssignmentHasConstParam(); in DeclareImplicitCopyAssignment()
10166 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitCopyAssignment()
10173 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitCopyAssignment()
10176 CXXMethodDecl::Create(Context, ClassDecl, ClassLoc, NameInfo, QualType(), in DeclareImplicitCopyAssignment()
10184 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXCopyAssignment, in DeclareImplicitCopyAssignment()
10204 ClassDecl->needsOverloadResolutionForCopyAssignment() in DeclareImplicitCopyAssignment()
10206 : ClassDecl->hasTrivialCopyAssignment()); in DeclareImplicitCopyAssignment()
10211 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitCopyAssignment()
10219 ClassDecl->addDecl(CopyAssignment); in DeclareImplicitCopyAssignment()
10283 CXXRecordDecl *ClassDecl = CopyAssignOperator->getParent(); in DefineImplicitCopyAssignment() local
10285 if (ClassDecl->isInvalidDecl() || CopyAssignOperator->isInvalidDecl()) { in DefineImplicitCopyAssignment()
10336 for (auto &Base : ClassDecl->bases()) { in DefineImplicitCopyAssignment()
10367 << CXXCopyAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitCopyAssignment()
10377 for (auto *Field : ClassDecl->fields()) { in DefineImplicitCopyAssignment()
10390 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitCopyAssignment()
10391 << Context.getTagDeclType(ClassDecl) << 0 << Field->getDeclName(); in DefineImplicitCopyAssignment()
10394 << CXXCopyAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitCopyAssignment()
10402 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitCopyAssignment()
10403 << Context.getTagDeclType(ClassDecl) << 1 << Field->getDeclName(); in DefineImplicitCopyAssignment()
10406 << CXXCopyAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitCopyAssignment()
10417 assert(ClassDecl->hasFlexibleArrayMember() && in DefineImplicitCopyAssignment()
10440 << CXXCopyAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitCopyAssignment()
10461 << CXXCopyAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitCopyAssignment()
10493 CXXRecordDecl *ClassDecl = MD->getParent(); in ComputeDefaultedMoveAssignmentExceptionSpec() local
10496 if (ClassDecl->isInvalidDecl()) in ComputeDefaultedMoveAssignmentExceptionSpec()
10511 for (const auto &Base : ClassDecl->bases()) { in ComputeDefaultedMoveAssignmentExceptionSpec()
10522 for (const auto &Base : ClassDecl->vbases()) { in ComputeDefaultedMoveAssignmentExceptionSpec()
10530 for (const auto *Field : ClassDecl->fields()) { in ComputeDefaultedMoveAssignmentExceptionSpec()
10544 CXXMethodDecl *Sema::DeclareImplicitMoveAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitMoveAssignment() argument
10545 assert(ClassDecl->needsImplicitMoveAssignment()); in DeclareImplicitMoveAssignment()
10547 DeclaringSpecialMember DSM(*this, ClassDecl, CXXMoveAssignment); in DeclareImplicitMoveAssignment()
10554 QualType ArgType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitMoveAssignment()
10558 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitMoveAssignment()
10565 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitMoveAssignment()
10568 CXXMethodDecl::Create(Context, ClassDecl, ClassLoc, NameInfo, QualType(), in DeclareImplicitMoveAssignment()
10576 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXMoveAssignment, in DeclareImplicitMoveAssignment()
10596 ClassDecl->needsOverloadResolutionForMoveAssignment() in DeclareImplicitMoveAssignment()
10598 : ClassDecl->hasTrivialMoveAssignment()); in DeclareImplicitMoveAssignment()
10603 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitMoveAssignment()
10607 ClassDecl->setImplicitMoveAssignmentIsDeleted(); in DeclareImplicitMoveAssignment()
10613 ClassDecl->addDecl(MoveAssignment); in DeclareImplicitMoveAssignment()
10711 CXXRecordDecl *ClassDecl = MoveAssignOperator->getParent(); in DefineImplicitMoveAssignment() local
10713 if (ClassDecl->isInvalidDecl() || MoveAssignOperator->isInvalidDecl()) { in DefineImplicitMoveAssignment()
10733 checkMoveAssignmentForRepeatedMove(*this, ClassDecl, CurrentLocation); in DefineImplicitMoveAssignment()
10760 for (auto &Base : ClassDecl->bases()) { in DefineImplicitMoveAssignment()
10800 << CXXMoveAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitMoveAssignment()
10810 for (auto *Field : ClassDecl->fields()) { in DefineImplicitMoveAssignment()
10823 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitMoveAssignment()
10824 << Context.getTagDeclType(ClassDecl) << 0 << Field->getDeclName(); in DefineImplicitMoveAssignment()
10827 << CXXMoveAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitMoveAssignment()
10835 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitMoveAssignment()
10836 << Context.getTagDeclType(ClassDecl) << 1 << Field->getDeclName(); in DefineImplicitMoveAssignment()
10839 << CXXMoveAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitMoveAssignment()
10850 assert(ClassDecl->hasFlexibleArrayMember() && in DefineImplicitMoveAssignment()
10876 << CXXMoveAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitMoveAssignment()
10898 << CXXMoveAssignment << Context.getTagDeclType(ClassDecl); in DefineImplicitMoveAssignment()
10930 CXXRecordDecl *ClassDecl = MD->getParent(); in ComputeDefaultedCopyCtorExceptionSpec() local
10933 if (ClassDecl->isInvalidDecl()) in ComputeDefaultedCopyCtorExceptionSpec()
10943 for (const auto &Base : ClassDecl->bases()) { in ComputeDefaultedCopyCtorExceptionSpec()
10954 for (const auto &Base : ClassDecl->vbases()) { in ComputeDefaultedCopyCtorExceptionSpec()
10961 for (const auto *Field : ClassDecl->fields()) { in ComputeDefaultedCopyCtorExceptionSpec()
10975 CXXRecordDecl *ClassDecl) { in DeclareImplicitCopyConstructor() argument
10979 assert(ClassDecl->needsImplicitCopyConstructor()); in DeclareImplicitCopyConstructor()
10981 DeclaringSpecialMember DSM(*this, ClassDecl, CXXCopyConstructor); in DeclareImplicitCopyConstructor()
10985 QualType ClassType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitCopyConstructor()
10987 bool Const = ClassDecl->implicitCopyConstructorHasConstParam(); in DeclareImplicitCopyConstructor()
10992 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitCopyConstructor()
10999 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitCopyConstructor()
11005 Context, ClassDecl, ClassLoc, NameInfo, QualType(), /*TInfo=*/nullptr, in DeclareImplicitCopyConstructor()
11012 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXCopyConstructor, in DeclareImplicitCopyConstructor()
11033 ClassDecl->needsOverloadResolutionForCopyConstructor() in DeclareImplicitCopyConstructor()
11035 : ClassDecl->hasTrivialCopyConstructor()); in DeclareImplicitCopyConstructor()
11040 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitCopyConstructor()
11048 ClassDecl->addDecl(CopyConstructor); in DeclareImplicitCopyConstructor()
11061 CXXRecordDecl *ClassDecl = CopyConstructor->getParent(); in DefineImplicitCopyConstructor() local
11062 assert(ClassDecl && "DefineImplicitCopyConstructor - invalid constructor"); in DefineImplicitCopyConstructor()
11077 << CXXCopyConstructor << Context.getTagDeclType(ClassDecl); in DefineImplicitCopyConstructor()
11094 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitCopyConstructor()
11103 CXXRecordDecl *ClassDecl = MD->getParent(); in ComputeDefaultedMoveCtorExceptionSpec() local
11109 if (ClassDecl->isInvalidDecl()) in ComputeDefaultedMoveCtorExceptionSpec()
11113 for (const auto &B : ClassDecl->bases()) { in ComputeDefaultedMoveCtorExceptionSpec()
11129 for (const auto &B : ClassDecl->vbases()) { in ComputeDefaultedMoveCtorExceptionSpec()
11142 for (const auto *F : ClassDecl->fields()) { in ComputeDefaultedMoveCtorExceptionSpec()
11161 CXXRecordDecl *ClassDecl) { in DeclareImplicitMoveConstructor() argument
11162 assert(ClassDecl->needsImplicitMoveConstructor()); in DeclareImplicitMoveConstructor()
11164 DeclaringSpecialMember DSM(*this, ClassDecl, CXXMoveConstructor); in DeclareImplicitMoveConstructor()
11168 QualType ClassType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitMoveConstructor()
11171 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitMoveConstructor()
11178 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitMoveConstructor()
11185 Context, ClassDecl, ClassLoc, NameInfo, QualType(), /*TInfo=*/nullptr, in DeclareImplicitMoveConstructor()
11192 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXMoveConstructor, in DeclareImplicitMoveConstructor()
11213 ClassDecl->needsOverloadResolutionForMoveConstructor() in DeclareImplicitMoveConstructor()
11215 : ClassDecl->hasTrivialMoveConstructor()); in DeclareImplicitMoveConstructor()
11220 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitMoveConstructor()
11224 ClassDecl->setImplicitMoveConstructorIsDeleted(); in DeclareImplicitMoveConstructor()
11230 ClassDecl->addDecl(MoveConstructor); in DeclareImplicitMoveConstructor()
11243 CXXRecordDecl *ClassDecl = MoveConstructor->getParent(); in DefineImplicitMoveConstructor() local
11244 assert(ClassDecl && "DefineImplicitMoveConstructor - invalid constructor"); in DefineImplicitMoveConstructor()
11252 << CXXMoveConstructor << Context.getTagDeclType(ClassDecl); in DefineImplicitMoveConstructor()
11269 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitMoveConstructor()
11584 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(Record->getDecl()); in FinalizeVarWithDestructor() local
11585 if (ClassDecl->isInvalidDecl()) return; in FinalizeVarWithDestructor()
11586 if (ClassDecl->hasIrrelevantDestructor()) return; in FinalizeVarWithDestructor()
11587 if (ClassDecl->isDependentContext()) return; in FinalizeVarWithDestructor()
11589 CXXDestructorDecl *Destructor = LookupDestructor(ClassDecl); in FinalizeVarWithDestructor()