Lines Matching refs:ClassDecl

2770 void Sema::ActOnBaseSpecifiers(Decl *ClassDecl,  in ActOnBaseSpecifiers()  argument
2772 if (!ClassDecl || Bases.empty()) in ActOnBaseSpecifiers()
2775 AdjustDeclIfTemplate(ClassDecl); in ActOnBaseSpecifiers()
2776 AttachBaseSpecifiers(cast<CXXRecordDecl>(ClassDecl), Bases); in ActOnBaseSpecifiers()
4015 CXXRecordDecl *ClassDecl, in FindBaseInitializer() argument
4021 for (const auto &Base : ClassDecl->bases()) { in FindBaseInitializer()
4039 if (SemaRef.IsDerivedFrom(ClassDecl->getLocation(), in FindBaseInitializer()
4040 SemaRef.Context.getTypeDeclType(ClassDecl), in FindBaseInitializer()
4095 explicit MemInitializerValidatorCCC(CXXRecordDecl *ClassDecl) in MemInitializerValidatorCCC() argument
4096 : ClassDecl(ClassDecl) {} in MemInitializerValidatorCCC()
4101 return Member->getDeclContext()->getRedeclContext()->Equals(ClassDecl); in ValidateCandidate()
4112 CXXRecordDecl *ClassDecl; member in __anon868331701111::MemInitializerValidatorCCC
4117 ValueDecl *Sema::tryLookupCtorInitMemberDecl(CXXRecordDecl *ClassDecl, in tryLookupCtorInitMemberDecl() argument
4123 DeclContext::lookup_result Result = ClassDecl->lookup(MemberOrBase); in tryLookupCtorInitMemberDecl()
4164 CXXRecordDecl *ClassDecl = Constructor->getParent(); in BuildMemInitializer() local
4179 ClassDecl, SS, TemplateTypeTy, MemberOrBase)) { in BuildMemInitializer()
4242 MemInitializerValidatorCCC CCC(ClassDecl); in BuildMemInitializer()
4245 CCC, CTK_ErrorRecovery, ClassDecl))) { in BuildMemInitializer()
4257 if (FindBaseInitializer(*this, ClassDecl, in BuildMemInitializer()
4303 return BuildBaseInitializer(BaseType, TInfo, Init, ClassDecl, EllipsisLoc); in BuildMemInitializer()
4384 CXXRecordDecl *ClassDecl) { in BuildDelegatingInitializer() argument
4401 QualType(ClassDecl->getTypeForDecl(), 0)); in BuildDelegatingInitializer()
4441 Expr *Init, CXXRecordDecl *ClassDecl, in BuildBaseInitializer() argument
4480 if (Context.hasSameUnqualifiedType(QualType(ClassDecl->getTypeForDecl(),0), in BuildBaseInitializer()
4482 return BuildDelegatingInitializer(BaseTInfo, Init, ClassDecl); in BuildBaseInitializer()
4484 FindBaseInitializer(*this, ClassDecl, BaseType, DirectBaseSpec, in BuildBaseInitializer()
4497 if (ClassDecl->hasAnyDependentBases()) in BuildBaseInitializer()
4501 << BaseType << Context.getTypeDeclType(ClassDecl) in BuildBaseInitializer()
5057 CXXRecordDecl *ClassDecl = Constructor->getParent()->getDefinition(); in SetCtorInitializers() local
5058 if (!ClassDecl) in SetCtorInitializers()
5088 for (auto &I : ClassDecl->bases()) { in SetCtorInitializers()
5094 for (auto &VBase : ClassDecl->vbases()) { in SetCtorInitializers()
5101 if (ClassDecl->isAbstract()) { in SetCtorInitializers()
5105 << VBase.getType() << ClassDecl; in SetCtorInitializers()
5106 DiagnoseAbstractType(ClassDecl); in SetCtorInitializers()
5110 } else if (!AnyErrors && !ClassDecl->isAbstract()) { in SetCtorInitializers()
5129 for (auto &Base : ClassDecl->bases()) { in SetCtorInitializers()
5151 for (auto *Mem : ClassDecl->decls()) { in SetCtorInitializers()
5177 assert(ClassDecl->hasFlexibleArrayMember() && in SetCtorInitializers()
5257 const CXXRecordDecl *ClassDecl = Constructor->getParent(); in DiagnoseBaseOrMemInitializerOrder() local
5260 for (const auto &VBase : ClassDecl->vbases()) in DiagnoseBaseOrMemInitializerOrder()
5264 for (const auto &Base : ClassDecl->bases()) { in DiagnoseBaseOrMemInitializerOrder()
5271 for (auto *Field : ClassDecl->fields()) { in DiagnoseBaseOrMemInitializerOrder()
5458 CXXRecordDecl *ClassDecl) { in MarkBaseAndMemberDestructorsReferenced() argument
5461 if (ClassDecl->isDependentContext() || ClassDecl->isUnion()) in MarkBaseAndMemberDestructorsReferenced()
5470 for (auto *Field : ClassDecl->fields()) { in MarkBaseAndMemberDestructorsReferenced()
5506 bool VisitVirtualBases = !ClassDecl->isAbstract(); in MarkBaseAndMemberDestructorsReferenced()
5512 CXXDestructorDecl *Dtor = ClassDecl->getDestructor(); in MarkBaseAndMemberDestructorsReferenced()
5520 for (const auto &Base : ClassDecl->bases()) { in MarkBaseAndMemberDestructorsReferenced()
5545 Context.getTypeDeclType(ClassDecl)); in MarkBaseAndMemberDestructorsReferenced()
5552 MarkVirtualBaseDestructorsReferenced(Location, ClassDecl, in MarkBaseAndMemberDestructorsReferenced()
5557 SourceLocation Location, CXXRecordDecl *ClassDecl, in MarkVirtualBaseDestructorsReferenced() argument
5560 for (const auto &VBase : ClassDecl->vbases()) { in MarkVirtualBaseDestructorsReferenced()
5578 ClassDecl->getLocation(), Dtor, in MarkVirtualBaseDestructorsReferenced()
5580 << Context.getTypeDeclType(ClassDecl) << VBase.getType(), in MarkVirtualBaseDestructorsReferenced()
5581 Context.getTypeDeclType(ClassDecl)) == in MarkVirtualBaseDestructorsReferenced()
5584 Context.getTypeDeclType(ClassDecl), VBase.getType(), in MarkVirtualBaseDestructorsReferenced()
5585 diag::err_access_dtor_vbase, 0, ClassDecl->getLocation(), in MarkVirtualBaseDestructorsReferenced()
6996 specialMemberIsConstexpr(Sema &S, CXXRecordDecl *ClassDecl, in specialMemberIsConstexpr() argument
7006 Inherited->findConstructorForBase(ClassDecl, InheritedCtor).first; in specialMemberIsConstexpr()
7012 return ClassDecl->hasConstexprDefaultConstructor(); in specialMemberIsConstexpr()
7014 return ClassDecl->hasConstexprDestructor(); in specialMemberIsConstexpr()
7017 lookupCallFromSpecialMember(S, ClassDecl, CSM, Quals, ConstRHS); in specialMemberIsConstexpr()
7028 Sema &S, CXXRecordDecl *ClassDecl, Sema::CXXSpecialMember CSM, in defaultedSpecialMemberIsConstexpr() argument
7047 return ClassDecl->defaultedDefaultConstructorIsConstexpr(); in defaultedSpecialMemberIsConstexpr()
7063 return ClassDecl->defaultedDestructorIsConstexpr(); in defaultedSpecialMemberIsConstexpr()
7076 if (Ctor && ClassDecl->isUnion()) in defaultedSpecialMemberIsConstexpr()
7078 ? ClassDecl->hasInClassInitializer() || in defaultedSpecialMemberIsConstexpr()
7079 !ClassDecl->hasVariantMembers() in defaultedSpecialMemberIsConstexpr()
7083 if (Ctor && ClassDecl->getNumVBases()) in defaultedSpecialMemberIsConstexpr()
7088 if (!Ctor && !ClassDecl->isLiteral()) in defaultedSpecialMemberIsConstexpr()
7095 for (const auto &B : ClassDecl->bases()) { in defaultedSpecialMemberIsConstexpr()
7112 for (const auto *F : ClassDecl->fields()) { in defaultedSpecialMemberIsConstexpr()
9905 void Sema::AddImplicitlyDeclaredMembersToClass(CXXRecordDecl *ClassDecl) { in AddImplicitlyDeclaredMembersToClass() argument
9909 if (!ClassDecl->isDependentType()) { in AddImplicitlyDeclaredMembersToClass()
9910 if (ClassDecl->needsImplicitDefaultConstructor()) { in AddImplicitlyDeclaredMembersToClass()
9913 if (ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
9914 DeclareImplicitDefaultConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
9917 if (ClassDecl->needsImplicitCopyConstructor()) { in AddImplicitlyDeclaredMembersToClass()
9923 if (ClassDecl->needsOverloadResolutionForCopyConstructor() || in AddImplicitlyDeclaredMembersToClass()
9924 ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
9925 DeclareImplicitCopyConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
9932 (ClassDecl->hasUserDeclaredMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
9933 ClassDecl->needsOverloadResolutionForMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
9934 ClassDecl->hasUserDeclaredMoveAssignment() || in AddImplicitlyDeclaredMembersToClass()
9935 ClassDecl->needsOverloadResolutionForMoveAssignment())) in AddImplicitlyDeclaredMembersToClass()
9936 DeclareImplicitCopyConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
9940 ClassDecl->needsImplicitMoveConstructor()) { in AddImplicitlyDeclaredMembersToClass()
9943 if (ClassDecl->needsOverloadResolutionForMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
9944 ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
9945 DeclareImplicitMoveConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
9948 if (ClassDecl->needsImplicitCopyAssignment()) { in AddImplicitlyDeclaredMembersToClass()
9955 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
9956 ClassDecl->needsOverloadResolutionForCopyAssignment() || in AddImplicitlyDeclaredMembersToClass()
9957 ClassDecl->hasInheritedAssignment()) in AddImplicitlyDeclaredMembersToClass()
9958 DeclareImplicitCopyAssignment(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
9961 if (getLangOpts().CPlusPlus11 && ClassDecl->needsImplicitMoveAssignment()) { in AddImplicitlyDeclaredMembersToClass()
9965 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
9966 ClassDecl->needsOverloadResolutionForMoveAssignment() || in AddImplicitlyDeclaredMembersToClass()
9967 ClassDecl->hasInheritedAssignment()) in AddImplicitlyDeclaredMembersToClass()
9968 DeclareImplicitMoveAssignment(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
9971 if (ClassDecl->needsImplicitDestructor()) { in AddImplicitlyDeclaredMembersToClass()
9978 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
9979 ClassDecl->needsOverloadResolutionForDestructor()) in AddImplicitlyDeclaredMembersToClass()
9980 DeclareImplicitDestructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
9995 findImplicitlyDeclaredEqualityComparisons(Context, ClassDecl, in AddImplicitlyDeclaredMembersToClass()
9998 DeclareImplicitEqualityComparison(ClassDecl, FD); in AddImplicitlyDeclaredMembersToClass()
10237 CXXRecordDecl *ClassDecl in CheckConstructor() local
10239 if (!ClassDecl) in CheckConstructor()
10252 QualType ClassTy = Context.getTagDeclType(ClassDecl); in CheckConstructor()
10617 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(Conversion->getDeclContext()); in ActOnConversionDeclarator() local
10628 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in ActOnConversionDeclarator()
12845 CXXRecordDecl *ClassDecl = MD->getParent(); in ComputeDefaultedSpecialMemberExceptionSpec() local
12851 if (ClassDecl->isInvalidDecl()) in ComputeDefaultedSpecialMemberExceptionSpec()
12858 S.Context.getRecordType(ClassDecl), in ComputeDefaultedSpecialMemberExceptionSpec()
12960 CXXRecordDecl *ClassDecl) { in DeclareImplicitDefaultConstructor() argument
12967 assert(ClassDecl->needsImplicitDefaultConstructor() && in DeclareImplicitDefaultConstructor()
12970 DeclaringSpecialMember DSM(*this, ClassDecl, CXXDefaultConstructor); in DeclareImplicitDefaultConstructor()
12974 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitDefaultConstructor()
12980 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in DeclareImplicitDefaultConstructor()
12981 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitDefaultConstructor()
12986 Context, ClassDecl, ClassLoc, NameInfo, /*Type*/ QualType(), in DeclareImplicitDefaultConstructor()
12995 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXDefaultConstructor, in DeclareImplicitDefaultConstructor()
13005 DefaultCon->setTrivial(ClassDecl->hasTrivialDefaultConstructor()); in DeclareImplicitDefaultConstructor()
13010 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitDefaultConstructor()
13018 ClassDecl->addDecl(DefaultCon); in DeclareImplicitDefaultConstructor()
13032 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineImplicitDefaultConstructor() local
13033 assert(ClassDecl && "DefineImplicitDefaultConstructor - invalid constructor"); in DefineImplicitDefaultConstructor()
13041 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitDefaultConstructor()
13163 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineInheritingConstructor() local
13178 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineInheritingConstructor()
13242 CXXDestructorDecl *Sema::DeclareImplicitDestructor(CXXRecordDecl *ClassDecl) { in DeclareImplicitDestructor() argument
13247 assert(ClassDecl->needsImplicitDestructor()); in DeclareImplicitDestructor()
13249 DeclaringSpecialMember DSM(*this, ClassDecl, CXXDestructor); in DeclareImplicitDestructor()
13253 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitDestructor()
13259 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in DeclareImplicitDestructor()
13260 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitDestructor()
13265 CXXDestructorDecl::Create(Context, ClassDecl, ClassLoc, NameInfo, in DeclareImplicitDestructor()
13274 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXDestructor, in DeclareImplicitDestructor()
13284 Destructor->setTrivial(ClassDecl->hasTrivialDestructor()); in DeclareImplicitDestructor()
13285 Destructor->setTrivialForCall(ClassDecl->hasAttr<TrivialABIAttr>() || in DeclareImplicitDestructor()
13286 ClassDecl->hasTrivialDestructorForCall()); in DeclareImplicitDestructor()
13291 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitDestructor()
13297 if (ClassDecl->isCompleteDefinition() && in DeclareImplicitDestructor()
13304 ClassDecl->addDecl(Destructor); in DeclareImplicitDestructor()
13318 CXXRecordDecl *ClassDecl = Destructor->getParent(); in DefineImplicitDestructor() local
13319 assert(ClassDecl && "DefineImplicitDestructor - invalid destructor"); in DefineImplicitDestructor()
13327 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitDestructor()
13356 CXXRecordDecl *ClassDecl = Destructor->getParent(); in CheckCompleteDestructorVariant() local
13359 assert(ClassDecl->getNumVBases() > 0 && in CheckCompleteDestructorVariant()
13367 MarkVirtualBaseDestructorsReferenced(Destructor->getLocation(), ClassDecl); in CheckCompleteDestructorVariant()
13678 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(RecordTy->getDecl()); in buildSingleCopyAssignRecursively() local
13684 S.LookupQualifiedName(OpLookup, ClassDecl, false); in buildSingleCopyAssignRecursively()
13870 CXXMethodDecl *Sema::DeclareImplicitCopyAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitCopyAssignment() argument
13875 assert(ClassDecl->needsImplicitCopyAssignment()); in DeclareImplicitCopyAssignment()
13877 DeclaringSpecialMember DSM(*this, ClassDecl, CXXCopyAssignment); in DeclareImplicitCopyAssignment()
13881 QualType ArgType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitCopyAssignment()
13886 bool Const = ClassDecl->implicitCopyAssignmentHasConstParam(); in DeclareImplicitCopyAssignment()
13892 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitCopyAssignment()
13899 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitCopyAssignment()
13902 Context, ClassDecl, ClassLoc, NameInfo, QualType(), in DeclareImplicitCopyAssignment()
13912 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXCopyAssignment, in DeclareImplicitCopyAssignment()
13929 ClassDecl->needsOverloadResolutionForCopyAssignment() in DeclareImplicitCopyAssignment()
13931 : ClassDecl->hasTrivialCopyAssignment()); in DeclareImplicitCopyAssignment()
13936 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitCopyAssignment()
13940 ClassDecl->setImplicitCopyAssignmentIsDeleted(); in DeclareImplicitCopyAssignment()
13946 ClassDecl->addDecl(CopyAssignment); in DeclareImplicitCopyAssignment()
14008 CXXRecordDecl *ClassDecl = CopyAssignOperator->getParent(); in DefineImplicitCopyAssignment() local
14009 if (ClassDecl->isInvalidDecl()) { in DefineImplicitCopyAssignment()
14065 for (auto &Base : ClassDecl->bases()) { in DefineImplicitCopyAssignment()
14104 for (auto *Field : ClassDecl->fields()) { in DefineImplicitCopyAssignment()
14117 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitCopyAssignment()
14118 << Context.getTagDeclType(ClassDecl) << 0 << Field->getDeclName(); in DefineImplicitCopyAssignment()
14127 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitCopyAssignment()
14128 << Context.getTagDeclType(ClassDecl) << 1 << Field->getDeclName(); in DefineImplicitCopyAssignment()
14140 assert(ClassDecl->hasFlexibleArrayMember() && in DefineImplicitCopyAssignment()
14201 CXXMethodDecl *Sema::DeclareImplicitMoveAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitMoveAssignment() argument
14202 assert(ClassDecl->needsImplicitMoveAssignment()); in DeclareImplicitMoveAssignment()
14204 DeclaringSpecialMember DSM(*this, ClassDecl, CXXMoveAssignment); in DeclareImplicitMoveAssignment()
14211 QualType ArgType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitMoveAssignment()
14218 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitMoveAssignment()
14225 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitMoveAssignment()
14228 Context, ClassDecl, ClassLoc, NameInfo, QualType(), in DeclareImplicitMoveAssignment()
14238 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXMoveAssignment, in DeclareImplicitMoveAssignment()
14258 ClassDecl->needsOverloadResolutionForMoveAssignment() in DeclareImplicitMoveAssignment()
14260 : ClassDecl->hasTrivialMoveAssignment()); in DeclareImplicitMoveAssignment()
14265 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitMoveAssignment()
14269 ClassDecl->setImplicitMoveAssignmentIsDeleted(); in DeclareImplicitMoveAssignment()
14275 ClassDecl->addDecl(MoveAssignment); in DeclareImplicitMoveAssignment()
14375 CXXRecordDecl *ClassDecl = MoveAssignOperator->getParent(); in DefineImplicitMoveAssignment() local
14376 if (ClassDecl->isInvalidDecl()) { in DefineImplicitMoveAssignment()
14391 checkMoveAssignmentForRepeatedMove(*this, ClassDecl, CurrentLocation); in DefineImplicitMoveAssignment()
14426 for (auto &Base : ClassDecl->bases()) { in DefineImplicitMoveAssignment()
14474 for (auto *Field : ClassDecl->fields()) { in DefineImplicitMoveAssignment()
14487 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitMoveAssignment()
14488 << Context.getTagDeclType(ClassDecl) << 0 << Field->getDeclName(); in DefineImplicitMoveAssignment()
14497 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitMoveAssignment()
14498 << Context.getTagDeclType(ClassDecl) << 1 << Field->getDeclName(); in DefineImplicitMoveAssignment()
14510 assert(ClassDecl->hasFlexibleArrayMember() && in DefineImplicitMoveAssignment()
14576 CXXRecordDecl *ClassDecl) { in DeclareImplicitCopyConstructor() argument
14580 assert(ClassDecl->needsImplicitCopyConstructor()); in DeclareImplicitCopyConstructor()
14582 DeclaringSpecialMember DSM(*this, ClassDecl, CXXCopyConstructor); in DeclareImplicitCopyConstructor()
14586 QualType ClassType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitCopyConstructor()
14588 bool Const = ClassDecl->implicitCopyConstructorHasConstParam(); in DeclareImplicitCopyConstructor()
14598 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitCopyConstructor()
14605 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitCopyConstructor()
14611 Context, ClassDecl, ClassLoc, NameInfo, QualType(), /*TInfo=*/nullptr, in DeclareImplicitCopyConstructor()
14621 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXCopyConstructor, in DeclareImplicitCopyConstructor()
14638 ClassDecl->needsOverloadResolutionForCopyConstructor() in DeclareImplicitCopyConstructor()
14640 : ClassDecl->hasTrivialCopyConstructor()); in DeclareImplicitCopyConstructor()
14643 ClassDecl->hasAttr<TrivialABIAttr>() || in DeclareImplicitCopyConstructor()
14644 (ClassDecl->needsOverloadResolutionForCopyConstructor() in DeclareImplicitCopyConstructor()
14647 : ClassDecl->hasTrivialCopyConstructorForCall())); in DeclareImplicitCopyConstructor()
14652 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitCopyConstructor()
14656 ClassDecl->setImplicitCopyConstructorIsDeleted(); in DeclareImplicitCopyConstructor()
14662 ClassDecl->addDecl(CopyConstructor); in DeclareImplicitCopyConstructor()
14677 CXXRecordDecl *ClassDecl = CopyConstructor->getParent(); in DefineImplicitCopyConstructor() local
14678 assert(ClassDecl && "DefineImplicitCopyConstructor - invalid constructor"); in DefineImplicitCopyConstructor()
14686 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitCopyConstructor()
14716 CXXRecordDecl *ClassDecl) { in DeclareImplicitMoveConstructor() argument
14717 assert(ClassDecl->needsImplicitMoveConstructor()); in DeclareImplicitMoveConstructor()
14719 DeclaringSpecialMember DSM(*this, ClassDecl, CXXMoveConstructor); in DeclareImplicitMoveConstructor()
14723 QualType ClassType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitMoveConstructor()
14731 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitMoveConstructor()
14738 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitMoveConstructor()
14745 Context, ClassDecl, ClassLoc, NameInfo, QualType(), /*TInfo=*/nullptr, in DeclareImplicitMoveConstructor()
14755 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXMoveConstructor, in DeclareImplicitMoveConstructor()
14772 ClassDecl->needsOverloadResolutionForMoveConstructor() in DeclareImplicitMoveConstructor()
14774 : ClassDecl->hasTrivialMoveConstructor()); in DeclareImplicitMoveConstructor()
14777 ClassDecl->hasAttr<TrivialABIAttr>() || in DeclareImplicitMoveConstructor()
14778 (ClassDecl->needsOverloadResolutionForMoveConstructor() in DeclareImplicitMoveConstructor()
14781 : ClassDecl->hasTrivialMoveConstructorForCall())); in DeclareImplicitMoveConstructor()
14786 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitMoveConstructor()
14790 ClassDecl->setImplicitMoveConstructorIsDeleted(); in DeclareImplicitMoveConstructor()
14796 ClassDecl->addDecl(MoveConstructor); in DeclareImplicitMoveConstructor()
14811 CXXRecordDecl *ClassDecl = MoveConstructor->getParent(); in DefineImplicitMoveConstructor() local
14812 assert(ClassDecl && "DefineImplicitMoveConstructor - invalid constructor"); in DefineImplicitMoveConstructor()
14820 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitMoveConstructor()
15146 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(Record->getDecl()); in FinalizeVarWithDestructor() local
15147 if (ClassDecl->isInvalidDecl()) return; in FinalizeVarWithDestructor()
15148 if (ClassDecl->hasIrrelevantDestructor()) return; in FinalizeVarWithDestructor()
15149 if (ClassDecl->isDependentContext()) return; in FinalizeVarWithDestructor()
15154 CXXDestructorDecl *Destructor = LookupDestructor(ClassDecl); in FinalizeVarWithDestructor()