Lines Matching refs:ClassDecl

2795 void Sema::ActOnBaseSpecifiers(Decl *ClassDecl,  in ActOnBaseSpecifiers()  argument
2797 if (!ClassDecl || Bases.empty()) in ActOnBaseSpecifiers()
2800 AdjustDeclIfTemplate(ClassDecl); in ActOnBaseSpecifiers()
2801 AttachBaseSpecifiers(cast<CXXRecordDecl>(ClassDecl), Bases); in ActOnBaseSpecifiers()
4040 CXXRecordDecl *ClassDecl, in FindBaseInitializer() argument
4046 for (const auto &Base : ClassDecl->bases()) { in FindBaseInitializer()
4064 if (SemaRef.IsDerivedFrom(ClassDecl->getLocation(), in FindBaseInitializer()
4065 SemaRef.Context.getTypeDeclType(ClassDecl), in FindBaseInitializer()
4120 explicit MemInitializerValidatorCCC(CXXRecordDecl *ClassDecl) in MemInitializerValidatorCCC() argument
4121 : ClassDecl(ClassDecl) {} in MemInitializerValidatorCCC()
4126 return Member->getDeclContext()->getRedeclContext()->Equals(ClassDecl); in ValidateCandidate()
4137 CXXRecordDecl *ClassDecl; member in __anon6089c8b41111::MemInitializerValidatorCCC
4142 ValueDecl *Sema::tryLookupCtorInitMemberDecl(CXXRecordDecl *ClassDecl, in tryLookupCtorInitMemberDecl() argument
4148 for (auto *D : ClassDecl->lookup(MemberOrBase)) in tryLookupCtorInitMemberDecl()
4185 CXXRecordDecl *ClassDecl = Constructor->getParent(); in BuildMemInitializer() local
4200 ClassDecl, SS, TemplateTypeTy, MemberOrBase)) { in BuildMemInitializer()
4263 MemInitializerValidatorCCC CCC(ClassDecl); in BuildMemInitializer()
4266 CCC, CTK_ErrorRecovery, ClassDecl))) { in BuildMemInitializer()
4278 if (FindBaseInitializer(*this, ClassDecl, in BuildMemInitializer()
4324 return BuildBaseInitializer(BaseType, TInfo, Init, ClassDecl, EllipsisLoc); in BuildMemInitializer()
4405 CXXRecordDecl *ClassDecl) { in BuildDelegatingInitializer() argument
4422 QualType(ClassDecl->getTypeForDecl(), 0)); in BuildDelegatingInitializer()
4462 Expr *Init, CXXRecordDecl *ClassDecl, in BuildBaseInitializer() argument
4501 if (Context.hasSameUnqualifiedType(QualType(ClassDecl->getTypeForDecl(),0), in BuildBaseInitializer()
4503 return BuildDelegatingInitializer(BaseTInfo, Init, ClassDecl); in BuildBaseInitializer()
4505 FindBaseInitializer(*this, ClassDecl, BaseType, DirectBaseSpec, in BuildBaseInitializer()
4518 if (ClassDecl->hasAnyDependentBases()) in BuildBaseInitializer()
4522 << BaseType << Context.getTypeDeclType(ClassDecl) in BuildBaseInitializer()
5078 CXXRecordDecl *ClassDecl = Constructor->getParent()->getDefinition(); in SetCtorInitializers() local
5079 if (!ClassDecl) in SetCtorInitializers()
5109 for (auto &I : ClassDecl->bases()) { in SetCtorInitializers()
5115 for (auto &VBase : ClassDecl->vbases()) { in SetCtorInitializers()
5122 if (ClassDecl->isAbstract()) { in SetCtorInitializers()
5126 << VBase.getType() << ClassDecl; in SetCtorInitializers()
5127 DiagnoseAbstractType(ClassDecl); in SetCtorInitializers()
5131 } else if (!AnyErrors && !ClassDecl->isAbstract()) { in SetCtorInitializers()
5150 for (auto &Base : ClassDecl->bases()) { in SetCtorInitializers()
5172 for (auto *Mem : ClassDecl->decls()) { in SetCtorInitializers()
5198 assert(ClassDecl->hasFlexibleArrayMember() && in SetCtorInitializers()
5292 const CXXRecordDecl *ClassDecl = Constructor->getParent(); in DiagnoseBaseOrMemInitializerOrder() local
5295 for (const auto &VBase : ClassDecl->vbases()) in DiagnoseBaseOrMemInitializerOrder()
5299 for (const auto &Base : ClassDecl->bases()) { in DiagnoseBaseOrMemInitializerOrder()
5306 for (auto *Field : ClassDecl->fields()) { in DiagnoseBaseOrMemInitializerOrder()
5532 CXXRecordDecl *ClassDecl) { in MarkBaseAndMemberDestructorsReferenced() argument
5535 if (ClassDecl->isDependentContext() || ClassDecl->isUnion()) in MarkBaseAndMemberDestructorsReferenced()
5544 for (auto *Field : ClassDecl->fields()) { in MarkBaseAndMemberDestructorsReferenced()
5580 bool VisitVirtualBases = !ClassDecl->isAbstract(); in MarkBaseAndMemberDestructorsReferenced()
5586 CXXDestructorDecl *Dtor = ClassDecl->getDestructor(); in MarkBaseAndMemberDestructorsReferenced()
5594 for (const auto &Base : ClassDecl->bases()) { in MarkBaseAndMemberDestructorsReferenced()
5620 Context.getTypeDeclType(ClassDecl)); in MarkBaseAndMemberDestructorsReferenced()
5627 MarkVirtualBaseDestructorsReferenced(Location, ClassDecl, in MarkBaseAndMemberDestructorsReferenced()
5632 SourceLocation Location, CXXRecordDecl *ClassDecl, in MarkVirtualBaseDestructorsReferenced() argument
5635 for (const auto &VBase : ClassDecl->vbases()) { in MarkVirtualBaseDestructorsReferenced()
5653 ClassDecl->getLocation(), Dtor, in MarkVirtualBaseDestructorsReferenced()
5655 << Context.getTypeDeclType(ClassDecl) << VBase.getType(), in MarkVirtualBaseDestructorsReferenced()
5656 Context.getTypeDeclType(ClassDecl)) == in MarkVirtualBaseDestructorsReferenced()
5659 Context.getTypeDeclType(ClassDecl), VBase.getType(), in MarkVirtualBaseDestructorsReferenced()
5660 diag::err_access_dtor_vbase, 0, ClassDecl->getLocation(), in MarkVirtualBaseDestructorsReferenced()
7071 specialMemberIsConstexpr(Sema &S, CXXRecordDecl *ClassDecl, in specialMemberIsConstexpr() argument
7081 Inherited->findConstructorForBase(ClassDecl, InheritedCtor).first; in specialMemberIsConstexpr()
7087 return ClassDecl->hasConstexprDefaultConstructor(); in specialMemberIsConstexpr()
7089 return ClassDecl->hasConstexprDestructor(); in specialMemberIsConstexpr()
7092 lookupCallFromSpecialMember(S, ClassDecl, CSM, Quals, ConstRHS); in specialMemberIsConstexpr()
7103 Sema &S, CXXRecordDecl *ClassDecl, Sema::CXXSpecialMember CSM, in defaultedSpecialMemberIsConstexpr() argument
7122 return ClassDecl->defaultedDefaultConstructorIsConstexpr(); in defaultedSpecialMemberIsConstexpr()
7138 return ClassDecl->defaultedDestructorIsConstexpr(); in defaultedSpecialMemberIsConstexpr()
7151 if (Ctor && ClassDecl->isUnion()) in defaultedSpecialMemberIsConstexpr()
7153 ? ClassDecl->hasInClassInitializer() || in defaultedSpecialMemberIsConstexpr()
7154 !ClassDecl->hasVariantMembers() in defaultedSpecialMemberIsConstexpr()
7158 if (Ctor && ClassDecl->getNumVBases()) in defaultedSpecialMemberIsConstexpr()
7163 if (!Ctor && !ClassDecl->isLiteral()) in defaultedSpecialMemberIsConstexpr()
7170 for (const auto &B : ClassDecl->bases()) { in defaultedSpecialMemberIsConstexpr()
7187 for (const auto *F : ClassDecl->fields()) { in defaultedSpecialMemberIsConstexpr()
9991 void Sema::AddImplicitlyDeclaredMembersToClass(CXXRecordDecl *ClassDecl) { in AddImplicitlyDeclaredMembersToClass() argument
9995 if (!ClassDecl->isDependentType()) { in AddImplicitlyDeclaredMembersToClass()
9996 if (ClassDecl->needsImplicitDefaultConstructor()) { in AddImplicitlyDeclaredMembersToClass()
9999 if (ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
10000 DeclareImplicitDefaultConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
10003 if (ClassDecl->needsImplicitCopyConstructor()) { in AddImplicitlyDeclaredMembersToClass()
10009 if (ClassDecl->needsOverloadResolutionForCopyConstructor() || in AddImplicitlyDeclaredMembersToClass()
10010 ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
10011 DeclareImplicitCopyConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
10018 (ClassDecl->hasUserDeclaredMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
10019 ClassDecl->needsOverloadResolutionForMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
10020 ClassDecl->hasUserDeclaredMoveAssignment() || in AddImplicitlyDeclaredMembersToClass()
10021 ClassDecl->needsOverloadResolutionForMoveAssignment())) in AddImplicitlyDeclaredMembersToClass()
10022 DeclareImplicitCopyConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
10026 ClassDecl->needsImplicitMoveConstructor()) { in AddImplicitlyDeclaredMembersToClass()
10029 if (ClassDecl->needsOverloadResolutionForMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
10030 ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
10031 DeclareImplicitMoveConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
10034 if (ClassDecl->needsImplicitCopyAssignment()) { in AddImplicitlyDeclaredMembersToClass()
10041 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
10042 ClassDecl->needsOverloadResolutionForCopyAssignment() || in AddImplicitlyDeclaredMembersToClass()
10043 ClassDecl->hasInheritedAssignment()) in AddImplicitlyDeclaredMembersToClass()
10044 DeclareImplicitCopyAssignment(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
10047 if (getLangOpts().CPlusPlus11 && ClassDecl->needsImplicitMoveAssignment()) { in AddImplicitlyDeclaredMembersToClass()
10051 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
10052 ClassDecl->needsOverloadResolutionForMoveAssignment() || in AddImplicitlyDeclaredMembersToClass()
10053 ClassDecl->hasInheritedAssignment()) in AddImplicitlyDeclaredMembersToClass()
10054 DeclareImplicitMoveAssignment(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
10057 if (ClassDecl->needsImplicitDestructor()) { in AddImplicitlyDeclaredMembersToClass()
10064 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
10065 ClassDecl->needsOverloadResolutionForDestructor()) in AddImplicitlyDeclaredMembersToClass()
10066 DeclareImplicitDestructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
10081 findImplicitlyDeclaredEqualityComparisons(Context, ClassDecl, in AddImplicitlyDeclaredMembersToClass()
10084 DeclareImplicitEqualityComparison(ClassDecl, FD); in AddImplicitlyDeclaredMembersToClass()
10323 CXXRecordDecl *ClassDecl in CheckConstructor() local
10325 if (!ClassDecl) in CheckConstructor()
10338 QualType ClassTy = Context.getTagDeclType(ClassDecl); in CheckConstructor()
10703 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(Conversion->getDeclContext()); in ActOnConversionDeclarator() local
10714 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in ActOnConversionDeclarator()
13085 CXXRecordDecl *ClassDecl = MD->getParent(); in ComputeDefaultedSpecialMemberExceptionSpec() local
13091 if (ClassDecl->isInvalidDecl()) in ComputeDefaultedSpecialMemberExceptionSpec()
13098 S.Context.getRecordType(ClassDecl), in ComputeDefaultedSpecialMemberExceptionSpec()
13210 CXXRecordDecl *ClassDecl) { in DeclareImplicitDefaultConstructor() argument
13217 assert(ClassDecl->needsImplicitDefaultConstructor() && in DeclareImplicitDefaultConstructor()
13220 DeclaringSpecialMember DSM(*this, ClassDecl, CXXDefaultConstructor); in DeclareImplicitDefaultConstructor()
13224 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitDefaultConstructor()
13230 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in DeclareImplicitDefaultConstructor()
13231 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitDefaultConstructor()
13236 Context, ClassDecl, ClassLoc, NameInfo, /*Type*/ QualType(), in DeclareImplicitDefaultConstructor()
13245 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXDefaultConstructor, in DeclareImplicitDefaultConstructor()
13255 DefaultCon->setTrivial(ClassDecl->hasTrivialDefaultConstructor()); in DeclareImplicitDefaultConstructor()
13260 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitDefaultConstructor()
13268 ClassDecl->addDecl(DefaultCon); in DeclareImplicitDefaultConstructor()
13282 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineImplicitDefaultConstructor() local
13283 assert(ClassDecl && "DefineImplicitDefaultConstructor - invalid constructor"); in DefineImplicitDefaultConstructor()
13291 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitDefaultConstructor()
13413 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineInheritingConstructor() local
13428 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineInheritingConstructor()
13492 CXXDestructorDecl *Sema::DeclareImplicitDestructor(CXXRecordDecl *ClassDecl) { in DeclareImplicitDestructor() argument
13497 assert(ClassDecl->needsImplicitDestructor()); in DeclareImplicitDestructor()
13499 DeclaringSpecialMember DSM(*this, ClassDecl, CXXDestructor); in DeclareImplicitDestructor()
13503 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitDestructor()
13509 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in DeclareImplicitDestructor()
13510 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitDestructor()
13515 CXXDestructorDecl::Create(Context, ClassDecl, ClassLoc, NameInfo, in DeclareImplicitDestructor()
13524 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXDestructor, in DeclareImplicitDestructor()
13534 Destructor->setTrivial(ClassDecl->hasTrivialDestructor()); in DeclareImplicitDestructor()
13535 Destructor->setTrivialForCall(ClassDecl->hasAttr<TrivialABIAttr>() || in DeclareImplicitDestructor()
13536 ClassDecl->hasTrivialDestructorForCall()); in DeclareImplicitDestructor()
13541 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitDestructor()
13547 if (ClassDecl->isCompleteDefinition() && in DeclareImplicitDestructor()
13554 ClassDecl->addDecl(Destructor); in DeclareImplicitDestructor()
13568 CXXRecordDecl *ClassDecl = Destructor->getParent(); in DefineImplicitDestructor() local
13569 assert(ClassDecl && "DefineImplicitDestructor - invalid destructor"); in DefineImplicitDestructor()
13577 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitDestructor()
13606 CXXRecordDecl *ClassDecl = Destructor->getParent(); in CheckCompleteDestructorVariant() local
13609 assert(ClassDecl->getNumVBases() > 0 && in CheckCompleteDestructorVariant()
13617 MarkVirtualBaseDestructorsReferenced(Destructor->getLocation(), ClassDecl); in CheckCompleteDestructorVariant()
13928 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(RecordTy->getDecl()); in buildSingleCopyAssignRecursively() local
13934 S.LookupQualifiedName(OpLookup, ClassDecl, false); in buildSingleCopyAssignRecursively()
14121 CXXMethodDecl *Sema::DeclareImplicitCopyAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitCopyAssignment() argument
14126 assert(ClassDecl->needsImplicitCopyAssignment()); in DeclareImplicitCopyAssignment()
14128 DeclaringSpecialMember DSM(*this, ClassDecl, CXXCopyAssignment); in DeclareImplicitCopyAssignment()
14132 QualType ArgType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitCopyAssignment()
14137 bool Const = ClassDecl->implicitCopyAssignmentHasConstParam(); in DeclareImplicitCopyAssignment()
14143 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitCopyAssignment()
14150 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitCopyAssignment()
14153 Context, ClassDecl, ClassLoc, NameInfo, QualType(), in DeclareImplicitCopyAssignment()
14163 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXCopyAssignment, in DeclareImplicitCopyAssignment()
14180 ClassDecl->needsOverloadResolutionForCopyAssignment() in DeclareImplicitCopyAssignment()
14182 : ClassDecl->hasTrivialCopyAssignment()); in DeclareImplicitCopyAssignment()
14187 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitCopyAssignment()
14191 ClassDecl->setImplicitCopyAssignmentIsDeleted(); in DeclareImplicitCopyAssignment()
14197 ClassDecl->addDecl(CopyAssignment); in DeclareImplicitCopyAssignment()
14267 CXXRecordDecl *ClassDecl = CopyAssignOperator->getParent(); in DefineImplicitCopyAssignment() local
14268 if (ClassDecl->isInvalidDecl()) { in DefineImplicitCopyAssignment()
14324 for (auto &Base : ClassDecl->bases()) { in DefineImplicitCopyAssignment()
14363 for (auto *Field : ClassDecl->fields()) { in DefineImplicitCopyAssignment()
14376 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitCopyAssignment()
14377 << Context.getTagDeclType(ClassDecl) << 0 << Field->getDeclName(); in DefineImplicitCopyAssignment()
14386 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitCopyAssignment()
14387 << Context.getTagDeclType(ClassDecl) << 1 << Field->getDeclName(); in DefineImplicitCopyAssignment()
14399 assert(ClassDecl->hasFlexibleArrayMember() && in DefineImplicitCopyAssignment()
14460 CXXMethodDecl *Sema::DeclareImplicitMoveAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitMoveAssignment() argument
14461 assert(ClassDecl->needsImplicitMoveAssignment()); in DeclareImplicitMoveAssignment()
14463 DeclaringSpecialMember DSM(*this, ClassDecl, CXXMoveAssignment); in DeclareImplicitMoveAssignment()
14470 QualType ArgType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitMoveAssignment()
14477 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitMoveAssignment()
14484 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitMoveAssignment()
14487 Context, ClassDecl, ClassLoc, NameInfo, QualType(), in DeclareImplicitMoveAssignment()
14497 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXMoveAssignment, in DeclareImplicitMoveAssignment()
14514 ClassDecl->needsOverloadResolutionForMoveAssignment() in DeclareImplicitMoveAssignment()
14516 : ClassDecl->hasTrivialMoveAssignment()); in DeclareImplicitMoveAssignment()
14521 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitMoveAssignment()
14525 ClassDecl->setImplicitMoveAssignmentIsDeleted(); in DeclareImplicitMoveAssignment()
14531 ClassDecl->addDecl(MoveAssignment); in DeclareImplicitMoveAssignment()
14631 CXXRecordDecl *ClassDecl = MoveAssignOperator->getParent(); in DefineImplicitMoveAssignment() local
14632 if (ClassDecl->isInvalidDecl()) { in DefineImplicitMoveAssignment()
14647 checkMoveAssignmentForRepeatedMove(*this, ClassDecl, CurrentLocation); in DefineImplicitMoveAssignment()
14682 for (auto &Base : ClassDecl->bases()) { in DefineImplicitMoveAssignment()
14730 for (auto *Field : ClassDecl->fields()) { in DefineImplicitMoveAssignment()
14743 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitMoveAssignment()
14744 << Context.getTagDeclType(ClassDecl) << 0 << Field->getDeclName(); in DefineImplicitMoveAssignment()
14753 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitMoveAssignment()
14754 << Context.getTagDeclType(ClassDecl) << 1 << Field->getDeclName(); in DefineImplicitMoveAssignment()
14766 assert(ClassDecl->hasFlexibleArrayMember() && in DefineImplicitMoveAssignment()
14832 CXXRecordDecl *ClassDecl) { in DeclareImplicitCopyConstructor() argument
14836 assert(ClassDecl->needsImplicitCopyConstructor()); in DeclareImplicitCopyConstructor()
14838 DeclaringSpecialMember DSM(*this, ClassDecl, CXXCopyConstructor); in DeclareImplicitCopyConstructor()
14842 QualType ClassType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitCopyConstructor()
14844 bool Const = ClassDecl->implicitCopyConstructorHasConstParam(); in DeclareImplicitCopyConstructor()
14854 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitCopyConstructor()
14861 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitCopyConstructor()
14867 Context, ClassDecl, ClassLoc, NameInfo, QualType(), /*TInfo=*/nullptr, in DeclareImplicitCopyConstructor()
14877 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXCopyConstructor, in DeclareImplicitCopyConstructor()
14889 if (inTemplateInstantiation() && ClassDecl->isLambda()) in DeclareImplicitCopyConstructor()
14900 ClassDecl->needsOverloadResolutionForCopyConstructor() in DeclareImplicitCopyConstructor()
14902 : ClassDecl->hasTrivialCopyConstructor()); in DeclareImplicitCopyConstructor()
14905 ClassDecl->hasAttr<TrivialABIAttr>() || in DeclareImplicitCopyConstructor()
14906 (ClassDecl->needsOverloadResolutionForCopyConstructor() in DeclareImplicitCopyConstructor()
14909 : ClassDecl->hasTrivialCopyConstructorForCall())); in DeclareImplicitCopyConstructor()
14914 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitCopyConstructor()
14918 ClassDecl->setImplicitCopyConstructorIsDeleted(); in DeclareImplicitCopyConstructor()
14924 ClassDecl->addDecl(CopyConstructor); in DeclareImplicitCopyConstructor()
14939 CXXRecordDecl *ClassDecl = CopyConstructor->getParent(); in DefineImplicitCopyConstructor() local
14940 assert(ClassDecl && "DefineImplicitCopyConstructor - invalid constructor"); in DefineImplicitCopyConstructor()
14948 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitCopyConstructor()
14978 CXXRecordDecl *ClassDecl) { in DeclareImplicitMoveConstructor() argument
14979 assert(ClassDecl->needsImplicitMoveConstructor()); in DeclareImplicitMoveConstructor()
14981 DeclaringSpecialMember DSM(*this, ClassDecl, CXXMoveConstructor); in DeclareImplicitMoveConstructor()
14985 QualType ClassType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitMoveConstructor()
14993 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitMoveConstructor()
15000 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitMoveConstructor()
15007 Context, ClassDecl, ClassLoc, NameInfo, QualType(), /*TInfo=*/nullptr, in DeclareImplicitMoveConstructor()
15017 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXMoveConstructor, in DeclareImplicitMoveConstructor()
15034 ClassDecl->needsOverloadResolutionForMoveConstructor() in DeclareImplicitMoveConstructor()
15036 : ClassDecl->hasTrivialMoveConstructor()); in DeclareImplicitMoveConstructor()
15039 ClassDecl->hasAttr<TrivialABIAttr>() || in DeclareImplicitMoveConstructor()
15040 (ClassDecl->needsOverloadResolutionForMoveConstructor() in DeclareImplicitMoveConstructor()
15043 : ClassDecl->hasTrivialMoveConstructorForCall())); in DeclareImplicitMoveConstructor()
15048 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitMoveConstructor()
15052 ClassDecl->setImplicitMoveConstructorIsDeleted(); in DeclareImplicitMoveConstructor()
15058 ClassDecl->addDecl(MoveConstructor); in DeclareImplicitMoveConstructor()
15073 CXXRecordDecl *ClassDecl = MoveConstructor->getParent(); in DefineImplicitMoveConstructor() local
15074 assert(ClassDecl && "DefineImplicitMoveConstructor - invalid constructor"); in DefineImplicitMoveConstructor()
15082 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitMoveConstructor()
15417 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(Record->getDecl()); in FinalizeVarWithDestructor() local
15418 if (ClassDecl->isInvalidDecl()) return; in FinalizeVarWithDestructor()
15419 if (ClassDecl->hasIrrelevantDestructor()) return; in FinalizeVarWithDestructor()
15420 if (ClassDecl->isDependentContext()) return; in FinalizeVarWithDestructor()
15425 CXXDestructorDecl *Destructor = LookupDestructor(ClassDecl); in FinalizeVarWithDestructor()