Lines Matching refs:ClassDecl

2510 void Sema::ActOnBaseSpecifiers(Decl *ClassDecl,  in ActOnBaseSpecifiers()  argument
2512 if (!ClassDecl || Bases.empty()) in ActOnBaseSpecifiers()
2515 AdjustDeclIfTemplate(ClassDecl); in ActOnBaseSpecifiers()
2516 AttachBaseSpecifiers(cast<CXXRecordDecl>(ClassDecl), Bases); in ActOnBaseSpecifiers()
3704 CXXRecordDecl *ClassDecl, in FindBaseInitializer() argument
3710 for (const auto &Base : ClassDecl->bases()) { in FindBaseInitializer()
3728 if (SemaRef.IsDerivedFrom(ClassDecl->getLocation(), in FindBaseInitializer()
3729 SemaRef.Context.getTypeDeclType(ClassDecl), in FindBaseInitializer()
3784 explicit MemInitializerValidatorCCC(CXXRecordDecl *ClassDecl) in MemInitializerValidatorCCC() argument
3785 : ClassDecl(ClassDecl) {} in MemInitializerValidatorCCC()
3790 return Member->getDeclContext()->getRedeclContext()->Equals(ClassDecl); in ValidateCandidate()
3797 CXXRecordDecl *ClassDecl; member in __anon6c2568af0d11::MemInitializerValidatorCCC
3802 ValueDecl *Sema::tryLookupCtorInitMemberDecl(CXXRecordDecl *ClassDecl, in tryLookupCtorInitMemberDecl() argument
3808 DeclContext::lookup_result Result = ClassDecl->lookup(MemberOrBase); in tryLookupCtorInitMemberDecl()
3849 CXXRecordDecl *ClassDecl = Constructor->getParent(); in BuildMemInitializer() local
3864 ClassDecl, SS, TemplateTypeTy, MemberOrBase)) { in BuildMemInitializer()
3928 llvm::make_unique<MemInitializerValidatorCCC>(ClassDecl), in BuildMemInitializer()
3929 CTK_ErrorRecovery, ClassDecl))) { in BuildMemInitializer()
3941 if (FindBaseInitializer(*this, ClassDecl, in BuildMemInitializer()
3987 return BuildBaseInitializer(BaseType, TInfo, Init, ClassDecl, EllipsisLoc); in BuildMemInitializer()
4067 CXXRecordDecl *ClassDecl) { in BuildDelegatingInitializer() argument
4084 QualType(ClassDecl->getTypeForDecl(), 0)); in BuildDelegatingInitializer()
4124 Expr *Init, CXXRecordDecl *ClassDecl, in BuildBaseInitializer() argument
4163 if (Context.hasSameUnqualifiedType(QualType(ClassDecl->getTypeForDecl(),0), in BuildBaseInitializer()
4165 return BuildDelegatingInitializer(BaseTInfo, Init, ClassDecl); in BuildBaseInitializer()
4167 FindBaseInitializer(*this, ClassDecl, BaseType, DirectBaseSpec, in BuildBaseInitializer()
4180 if (ClassDecl->hasAnyDependentBases()) in BuildBaseInitializer()
4184 << BaseType << Context.getTypeDeclType(ClassDecl) in BuildBaseInitializer()
4739 CXXRecordDecl *ClassDecl = Constructor->getParent()->getDefinition(); in SetCtorInitializers() local
4740 if (!ClassDecl) in SetCtorInitializers()
4770 for (auto &I : ClassDecl->bases()) { in SetCtorInitializers()
4776 for (auto &VBase : ClassDecl->vbases()) { in SetCtorInitializers()
4783 if (ClassDecl->isAbstract()) { in SetCtorInitializers()
4787 << VBase.getType() << ClassDecl; in SetCtorInitializers()
4788 DiagnoseAbstractType(ClassDecl); in SetCtorInitializers()
4792 } else if (!AnyErrors && !ClassDecl->isAbstract()) { in SetCtorInitializers()
4811 for (auto &Base : ClassDecl->bases()) { in SetCtorInitializers()
4833 for (auto *Mem : ClassDecl->decls()) { in SetCtorInitializers()
4859 assert(ClassDecl->hasFlexibleArrayMember() && in SetCtorInitializers()
4939 const CXXRecordDecl *ClassDecl = Constructor->getParent(); in DiagnoseBaseOrMemInitializerOrder() local
4942 for (const auto &VBase : ClassDecl->vbases()) in DiagnoseBaseOrMemInitializerOrder()
4946 for (const auto &Base : ClassDecl->bases()) { in DiagnoseBaseOrMemInitializerOrder()
4953 for (auto *Field : ClassDecl->fields()) { in DiagnoseBaseOrMemInitializerOrder()
5140 CXXRecordDecl *ClassDecl) { in MarkBaseAndMemberDestructorsReferenced() argument
5143 if (ClassDecl->isDependentContext() || ClassDecl->isUnion()) in MarkBaseAndMemberDestructorsReferenced()
5152 for (auto *Field : ClassDecl->fields()) { in MarkBaseAndMemberDestructorsReferenced()
5188 bool VisitVirtualBases = !ClassDecl->isAbstract(); in MarkBaseAndMemberDestructorsReferenced()
5193 for (const auto &Base : ClassDecl->bases()) { in MarkBaseAndMemberDestructorsReferenced()
5218 Context.getTypeDeclType(ClassDecl)); in MarkBaseAndMemberDestructorsReferenced()
5228 for (const auto &VBase : ClassDecl->vbases()) { in MarkBaseAndMemberDestructorsReferenced()
5246 ClassDecl->getLocation(), Dtor, in MarkBaseAndMemberDestructorsReferenced()
5248 << Context.getTypeDeclType(ClassDecl) << VBase.getType(), in MarkBaseAndMemberDestructorsReferenced()
5249 Context.getTypeDeclType(ClassDecl)) == in MarkBaseAndMemberDestructorsReferenced()
5252 Context.getTypeDeclType(ClassDecl), VBase.getType(), in MarkBaseAndMemberDestructorsReferenced()
5253 diag::err_access_dtor_vbase, 0, ClassDecl->getLocation(), in MarkBaseAndMemberDestructorsReferenced()
6307 specialMemberIsConstexpr(Sema &S, CXXRecordDecl *ClassDecl, in specialMemberIsConstexpr() argument
6317 Inherited->findConstructorForBase(ClassDecl, InheritedCtor).first; in specialMemberIsConstexpr()
6323 return ClassDecl->hasConstexprDefaultConstructor(); in specialMemberIsConstexpr()
6326 lookupCallFromSpecialMember(S, ClassDecl, CSM, Quals, ConstRHS); in specialMemberIsConstexpr()
6337 Sema &S, CXXRecordDecl *ClassDecl, Sema::CXXSpecialMember CSM, in defaultedSpecialMemberIsConstexpr() argument
6356 return ClassDecl->defaultedDefaultConstructorIsConstexpr(); in defaultedSpecialMemberIsConstexpr()
6383 if (Ctor && ClassDecl->isUnion()) in defaultedSpecialMemberIsConstexpr()
6385 ? ClassDecl->hasInClassInitializer() || in defaultedSpecialMemberIsConstexpr()
6386 !ClassDecl->hasVariantMembers() in defaultedSpecialMemberIsConstexpr()
6390 if (Ctor && ClassDecl->getNumVBases()) in defaultedSpecialMemberIsConstexpr()
6395 if (!Ctor && !ClassDecl->isLiteral()) in defaultedSpecialMemberIsConstexpr()
6402 for (const auto &B : ClassDecl->bases()) { in defaultedSpecialMemberIsConstexpr()
6419 for (const auto *F : ClassDecl->fields()) { in defaultedSpecialMemberIsConstexpr()
7934 void Sema::AddImplicitlyDeclaredMembersToClass(CXXRecordDecl *ClassDecl) { in AddImplicitlyDeclaredMembersToClass() argument
7935 if (ClassDecl->needsImplicitDefaultConstructor()) { in AddImplicitlyDeclaredMembersToClass()
7938 if (ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
7939 DeclareImplicitDefaultConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
7942 if (ClassDecl->needsImplicitCopyConstructor()) { in AddImplicitlyDeclaredMembersToClass()
7948 if (ClassDecl->needsOverloadResolutionForCopyConstructor() || in AddImplicitlyDeclaredMembersToClass()
7949 ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
7950 DeclareImplicitCopyConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
7957 (ClassDecl->hasUserDeclaredMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
7958 ClassDecl->needsOverloadResolutionForMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
7959 ClassDecl->hasUserDeclaredMoveAssignment() || in AddImplicitlyDeclaredMembersToClass()
7960 ClassDecl->needsOverloadResolutionForMoveAssignment())) in AddImplicitlyDeclaredMembersToClass()
7961 DeclareImplicitCopyConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
7964 if (getLangOpts().CPlusPlus11 && ClassDecl->needsImplicitMoveConstructor()) { in AddImplicitlyDeclaredMembersToClass()
7967 if (ClassDecl->needsOverloadResolutionForMoveConstructor() || in AddImplicitlyDeclaredMembersToClass()
7968 ClassDecl->hasInheritedConstructor()) in AddImplicitlyDeclaredMembersToClass()
7969 DeclareImplicitMoveConstructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
7972 if (ClassDecl->needsImplicitCopyAssignment()) { in AddImplicitlyDeclaredMembersToClass()
7979 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
7980 ClassDecl->needsOverloadResolutionForCopyAssignment() || in AddImplicitlyDeclaredMembersToClass()
7981 ClassDecl->hasInheritedAssignment()) in AddImplicitlyDeclaredMembersToClass()
7982 DeclareImplicitCopyAssignment(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
7985 if (getLangOpts().CPlusPlus11 && ClassDecl->needsImplicitMoveAssignment()) { in AddImplicitlyDeclaredMembersToClass()
7989 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
7990 ClassDecl->needsOverloadResolutionForMoveAssignment() || in AddImplicitlyDeclaredMembersToClass()
7991 ClassDecl->hasInheritedAssignment()) in AddImplicitlyDeclaredMembersToClass()
7992 DeclareImplicitMoveAssignment(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
7995 if (ClassDecl->needsImplicitDestructor()) { in AddImplicitlyDeclaredMembersToClass()
8002 if (ClassDecl->isDynamicClass() || in AddImplicitlyDeclaredMembersToClass()
8003 ClassDecl->needsOverloadResolutionForDestructor()) in AddImplicitlyDeclaredMembersToClass()
8004 DeclareImplicitDestructor(ClassDecl); in AddImplicitlyDeclaredMembersToClass()
8218 CXXRecordDecl *ClassDecl in CheckConstructor() local
8220 if (!ClassDecl) in CheckConstructor()
8235 QualType ClassTy = Context.getTagDeclType(ClassDecl); in CheckConstructor()
8607 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(Conversion->getDeclContext()); in ActOnConversionDeclarator() local
8621 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in ActOnConversionDeclarator()
10816 CXXRecordDecl *ClassDecl = MD->getParent(); in ComputeDefaultedSpecialMemberExceptionSpec() local
10822 if (ClassDecl->isInvalidDecl()) in ComputeDefaultedSpecialMemberExceptionSpec()
10829 S.Context.getRecordType(ClassDecl), in ComputeDefaultedSpecialMemberExceptionSpec()
10932 CXXRecordDecl *ClassDecl) { in DeclareImplicitDefaultConstructor() argument
10939 assert(ClassDecl->needsImplicitDefaultConstructor() && in DeclareImplicitDefaultConstructor()
10942 DeclaringSpecialMember DSM(*this, ClassDecl, CXXDefaultConstructor); in DeclareImplicitDefaultConstructor()
10946 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitDefaultConstructor()
10952 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in DeclareImplicitDefaultConstructor()
10953 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitDefaultConstructor()
10958 Context, ClassDecl, ClassLoc, NameInfo, /*Type*/QualType(), in DeclareImplicitDefaultConstructor()
10965 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXDefaultConstructor, in DeclareImplicitDefaultConstructor()
10975 DefaultCon->setTrivial(ClassDecl->hasTrivialDefaultConstructor()); in DeclareImplicitDefaultConstructor()
10980 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitDefaultConstructor()
10988 ClassDecl->addDecl(DefaultCon); in DeclareImplicitDefaultConstructor()
11002 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineImplicitDefaultConstructor() local
11003 assert(ClassDecl && "DefineImplicitDefaultConstructor - invalid constructor"); in DefineImplicitDefaultConstructor()
11011 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitDefaultConstructor()
11131 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineInheritingConstructor() local
11146 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineInheritingConstructor()
11210 CXXDestructorDecl *Sema::DeclareImplicitDestructor(CXXRecordDecl *ClassDecl) { in DeclareImplicitDestructor() argument
11215 assert(ClassDecl->needsImplicitDestructor()); in DeclareImplicitDestructor()
11217 DeclaringSpecialMember DSM(*this, ClassDecl, CXXDestructor); in DeclareImplicitDestructor()
11223 = Context.getCanonicalType(Context.getTypeDeclType(ClassDecl)); in DeclareImplicitDestructor()
11224 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitDestructor()
11229 = CXXDestructorDecl::Create(Context, ClassDecl, ClassLoc, NameInfo, in DeclareImplicitDestructor()
11236 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXDestructor, in DeclareImplicitDestructor()
11246 Destructor->setTrivial(ClassDecl->hasTrivialDestructor()); in DeclareImplicitDestructor()
11247 Destructor->setTrivialForCall(ClassDecl->hasAttr<TrivialABIAttr>() || in DeclareImplicitDestructor()
11248 ClassDecl->hasTrivialDestructorForCall()); in DeclareImplicitDestructor()
11253 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitDestructor()
11259 if (ClassDecl->isCompleteDefinition() && in DeclareImplicitDestructor()
11266 ClassDecl->addDecl(Destructor); in DeclareImplicitDestructor()
11280 CXXRecordDecl *ClassDecl = Destructor->getParent(); in DefineImplicitDestructor() local
11281 assert(ClassDecl && "DefineImplicitDestructor - invalid destructor"); in DefineImplicitDestructor()
11289 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitDestructor()
11607 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(RecordTy->getDecl()); in buildSingleCopyAssignRecursively() local
11613 S.LookupQualifiedName(OpLookup, ClassDecl, false); in buildSingleCopyAssignRecursively()
11800 CXXMethodDecl *Sema::DeclareImplicitCopyAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitCopyAssignment() argument
11805 assert(ClassDecl->needsImplicitCopyAssignment()); in DeclareImplicitCopyAssignment()
11807 DeclaringSpecialMember DSM(*this, ClassDecl, CXXCopyAssignment); in DeclareImplicitCopyAssignment()
11811 QualType ArgType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitCopyAssignment()
11813 bool Const = ClassDecl->implicitCopyAssignmentHasConstParam(); in DeclareImplicitCopyAssignment()
11822 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitCopyAssignment()
11829 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitCopyAssignment()
11832 CXXMethodDecl::Create(Context, ClassDecl, ClassLoc, NameInfo, QualType(), in DeclareImplicitCopyAssignment()
11840 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXCopyAssignment, in DeclareImplicitCopyAssignment()
11857 ClassDecl->needsOverloadResolutionForCopyAssignment() in DeclareImplicitCopyAssignment()
11859 : ClassDecl->hasTrivialCopyAssignment()); in DeclareImplicitCopyAssignment()
11864 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitCopyAssignment()
11872 ClassDecl->addDecl(CopyAssignment); in DeclareImplicitCopyAssignment()
11933 CXXRecordDecl *ClassDecl = CopyAssignOperator->getParent(); in DefineImplicitCopyAssignment() local
11934 if (ClassDecl->isInvalidDecl()) { in DefineImplicitCopyAssignment()
11990 for (auto &Base : ClassDecl->bases()) { in DefineImplicitCopyAssignment()
12029 for (auto *Field : ClassDecl->fields()) { in DefineImplicitCopyAssignment()
12042 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitCopyAssignment()
12043 << Context.getTagDeclType(ClassDecl) << 0 << Field->getDeclName(); in DefineImplicitCopyAssignment()
12052 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitCopyAssignment()
12053 << Context.getTagDeclType(ClassDecl) << 1 << Field->getDeclName(); in DefineImplicitCopyAssignment()
12065 assert(ClassDecl->hasFlexibleArrayMember() && in DefineImplicitCopyAssignment()
12126 CXXMethodDecl *Sema::DeclareImplicitMoveAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitMoveAssignment() argument
12127 assert(ClassDecl->needsImplicitMoveAssignment()); in DeclareImplicitMoveAssignment()
12129 DeclaringSpecialMember DSM(*this, ClassDecl, CXXMoveAssignment); in DeclareImplicitMoveAssignment()
12136 QualType ArgType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitMoveAssignment()
12140 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitMoveAssignment()
12147 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitMoveAssignment()
12150 CXXMethodDecl::Create(Context, ClassDecl, ClassLoc, NameInfo, QualType(), in DeclareImplicitMoveAssignment()
12158 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXMoveAssignment, in DeclareImplicitMoveAssignment()
12178 ClassDecl->needsOverloadResolutionForMoveAssignment() in DeclareImplicitMoveAssignment()
12180 : ClassDecl->hasTrivialMoveAssignment()); in DeclareImplicitMoveAssignment()
12185 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitMoveAssignment()
12189 ClassDecl->setImplicitMoveAssignmentIsDeleted(); in DeclareImplicitMoveAssignment()
12195 ClassDecl->addDecl(MoveAssignment); in DeclareImplicitMoveAssignment()
12295 CXXRecordDecl *ClassDecl = MoveAssignOperator->getParent(); in DefineImplicitMoveAssignment() local
12296 if (ClassDecl->isInvalidDecl()) { in DefineImplicitMoveAssignment()
12311 checkMoveAssignmentForRepeatedMove(*this, ClassDecl, CurrentLocation); in DefineImplicitMoveAssignment()
12346 for (auto &Base : ClassDecl->bases()) { in DefineImplicitMoveAssignment()
12394 for (auto *Field : ClassDecl->fields()) { in DefineImplicitMoveAssignment()
12407 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitMoveAssignment()
12408 << Context.getTagDeclType(ClassDecl) << 0 << Field->getDeclName(); in DefineImplicitMoveAssignment()
12417 Diag(ClassDecl->getLocation(), diag::err_uninitialized_member_for_assign) in DefineImplicitMoveAssignment()
12418 << Context.getTagDeclType(ClassDecl) << 1 << Field->getDeclName(); in DefineImplicitMoveAssignment()
12430 assert(ClassDecl->hasFlexibleArrayMember() && in DefineImplicitMoveAssignment()
12496 CXXRecordDecl *ClassDecl) { in DeclareImplicitCopyConstructor() argument
12500 assert(ClassDecl->needsImplicitCopyConstructor()); in DeclareImplicitCopyConstructor()
12502 DeclaringSpecialMember DSM(*this, ClassDecl, CXXCopyConstructor); in DeclareImplicitCopyConstructor()
12506 QualType ClassType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitCopyConstructor()
12508 bool Const = ClassDecl->implicitCopyConstructorHasConstParam(); in DeclareImplicitCopyConstructor()
12517 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitCopyConstructor()
12524 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitCopyConstructor()
12530 Context, ClassDecl, ClassLoc, NameInfo, QualType(), /*TInfo=*/nullptr, in DeclareImplicitCopyConstructor()
12537 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXCopyConstructor, in DeclareImplicitCopyConstructor()
12554 ClassDecl->needsOverloadResolutionForCopyConstructor() in DeclareImplicitCopyConstructor()
12556 : ClassDecl->hasTrivialCopyConstructor()); in DeclareImplicitCopyConstructor()
12559 ClassDecl->hasAttr<TrivialABIAttr>() || in DeclareImplicitCopyConstructor()
12560 (ClassDecl->needsOverloadResolutionForCopyConstructor() in DeclareImplicitCopyConstructor()
12563 : ClassDecl->hasTrivialCopyConstructorForCall())); in DeclareImplicitCopyConstructor()
12568 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitCopyConstructor()
12572 ClassDecl->setImplicitCopyConstructorIsDeleted(); in DeclareImplicitCopyConstructor()
12578 ClassDecl->addDecl(CopyConstructor); in DeclareImplicitCopyConstructor()
12593 CXXRecordDecl *ClassDecl = CopyConstructor->getParent(); in DefineImplicitCopyConstructor() local
12594 assert(ClassDecl && "DefineImplicitCopyConstructor - invalid constructor"); in DefineImplicitCopyConstructor()
12602 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitCopyConstructor()
12632 CXXRecordDecl *ClassDecl) { in DeclareImplicitMoveConstructor() argument
12633 assert(ClassDecl->needsImplicitMoveConstructor()); in DeclareImplicitMoveConstructor()
12635 DeclaringSpecialMember DSM(*this, ClassDecl, CXXMoveConstructor); in DeclareImplicitMoveConstructor()
12639 QualType ClassType = Context.getTypeDeclType(ClassDecl); in DeclareImplicitMoveConstructor()
12646 bool Constexpr = defaultedSpecialMemberIsConstexpr(*this, ClassDecl, in DeclareImplicitMoveConstructor()
12653 SourceLocation ClassLoc = ClassDecl->getLocation(); in DeclareImplicitMoveConstructor()
12660 Context, ClassDecl, ClassLoc, NameInfo, QualType(), /*TInfo=*/nullptr, in DeclareImplicitMoveConstructor()
12667 inferCUDATargetForImplicitSpecialMember(ClassDecl, CXXMoveConstructor, in DeclareImplicitMoveConstructor()
12684 ClassDecl->needsOverloadResolutionForMoveConstructor() in DeclareImplicitMoveConstructor()
12686 : ClassDecl->hasTrivialMoveConstructor()); in DeclareImplicitMoveConstructor()
12689 ClassDecl->hasAttr<TrivialABIAttr>() || in DeclareImplicitMoveConstructor()
12690 (ClassDecl->needsOverloadResolutionForMoveConstructor() in DeclareImplicitMoveConstructor()
12693 : ClassDecl->hasTrivialMoveConstructorForCall())); in DeclareImplicitMoveConstructor()
12698 Scope *S = getScopeForContext(ClassDecl); in DeclareImplicitMoveConstructor()
12702 ClassDecl->setImplicitMoveConstructorIsDeleted(); in DeclareImplicitMoveConstructor()
12708 ClassDecl->addDecl(MoveConstructor); in DeclareImplicitMoveConstructor()
12723 CXXRecordDecl *ClassDecl = MoveConstructor->getParent(); in DefineImplicitMoveConstructor() local
12724 assert(ClassDecl && "DefineImplicitMoveConstructor - invalid constructor"); in DefineImplicitMoveConstructor()
12732 MarkVTableUsed(CurrentLocation, ClassDecl); in DefineImplicitMoveConstructor()
13054 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(Record->getDecl()); in FinalizeVarWithDestructor() local
13055 if (ClassDecl->isInvalidDecl()) return; in FinalizeVarWithDestructor()
13056 if (ClassDecl->hasIrrelevantDestructor()) return; in FinalizeVarWithDestructor()
13057 if (ClassDecl->isDependentContext()) return; in FinalizeVarWithDestructor()
13062 CXXDestructorDecl *Destructor = LookupDestructor(ClassDecl); in FinalizeVarWithDestructor()