Lines Matching refs:Constructor
2301 if (const CXXConstructorDecl *Constructor in CheckConstexprFunctionBody() local
2303 const CXXRecordDecl *RD = Constructor->getParent(); in CheckConstexprFunctionBody()
2311 if (Constructor->getNumCtorInitializers() == 0 && in CheckConstexprFunctionBody()
2323 } else if (!Constructor->isDependentContext() && in CheckConstexprFunctionBody()
2324 !Constructor->isDelegatingConstructor()) { in CheckConstexprFunctionBody()
2343 Constructor->getNumCtorInitializers() != RD->getNumBases() + Fields) { in CheckConstexprFunctionBody()
2348 for (const auto *I: Constructor->inits()) { in CheckConstexprFunctionBody()
3628 const CXXConstructorDecl *Constructor; member in __anonb2dcaa771011::UninitializedFieldVisitor
3642 Constructor(nullptr), InitList(false), InitListFieldDecl(nullptr) {} in UninitializedFieldVisitor()
3757 if (Constructor) in HandleMemberExpr()
3758 S.Diag(Constructor->getLocation(), in HandleMemberExpr()
3760 << (Constructor->isDefaultConstructor() && Constructor->isImplicit()); in HandleMemberExpr()
3832 Constructor = FieldConstructor; in CheckInitializer()
3954 Sema &SemaRef, const CXXConstructorDecl *Constructor) { in DiagnoseUninitializedFields() argument
3957 Constructor->getLocation())) { in DiagnoseUninitializedFields()
3961 if (Constructor->isInvalidDecl()) in DiagnoseUninitializedFields()
3964 const CXXRecordDecl *RD = Constructor->getParent(); in DiagnoseUninitializedFields()
3992 for (const auto *FieldInit : Constructor->inits()) { in DiagnoseUninitializedFields()
4006 UninitializedChecker.CheckInitializer(InitExpr, Constructor, in DiagnoseUninitializedFields()
4260 CXXConstructorDecl *Constructor in BuildMemInitializer() local
4262 if (!Constructor) { in BuildMemInitializer()
4270 CXXRecordDecl *ClassDecl = Constructor->getParent(); in BuildMemInitializer()
4737 BuildImplicitBaseInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitBaseInitializer() argument
4752 = InitializationKind::CreateDefault(Constructor->getLocation()); in BuildImplicitBaseInitializer()
4761 ParmVarDecl *Param = Constructor->getParamDecl(0); in BuildImplicitBaseInitializer()
4767 Constructor->getLocation(), ParamType, in BuildImplicitBaseInitializer()
4789 = InitializationKind::CreateDirect(Constructor->getLocation(), in BuildImplicitBaseInitializer()
4820 BuildImplicitMemberInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitMemberInitializer() argument
4827 SourceLocation Loc = Constructor->getLocation(); in BuildImplicitMemberInitializer()
4831 ParmVarDecl *Param = Constructor->getParamDecl(0); in BuildImplicitMemberInitializer()
4942 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
4944 << (int)Constructor->isImplicit() in BuildImplicitMemberInitializer()
4945 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
4952 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
4954 << (int)Constructor->isImplicit() in BuildImplicitMemberInitializer()
4955 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
5153 Sema::SetDelegatingInitializer(CXXConstructorDecl *Constructor, in SetDelegatingInitializer() argument
5156 Constructor->setNumCtorInitializers(1); in SetDelegatingInitializer()
5160 Constructor->setCtorInitializers(initializer); in SetDelegatingInitializer()
5162 if (CXXDestructorDecl *Dtor = LookupDestructor(Constructor->getParent())) { in SetDelegatingInitializer()
5167 DelegatingCtorDecls.push_back(Constructor); in SetDelegatingInitializer()
5169 DiagnoseUninitializedFields(*this, Constructor); in SetDelegatingInitializer()
5174 bool Sema::SetCtorInitializers(CXXConstructorDecl *Constructor, bool AnyErrors, in SetCtorInitializers() argument
5176 if (Constructor->isDependentContext()) { in SetCtorInitializers()
5180 Constructor->setNumCtorInitializers(Initializers.size()); in SetCtorInitializers()
5185 Constructor->setCtorInitializers(baseOrMemberInitializers); in SetCtorInitializers()
5190 Constructor->setInvalidDecl(); in SetCtorInitializers()
5195 BaseAndFieldInfo Info(*this, Constructor, AnyErrors); in SetCtorInitializers()
5199 CXXRecordDecl *ClassDecl = Constructor->getParent()->getDefinition(); in SetCtorInitializers()
5259 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK, in SetCtorInitializers()
5281 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK, in SetCtorInitializers()
5334 Constructor->setNumCtorInitializers(NumInitializers); in SetCtorInitializers()
5339 Constructor->setCtorInitializers(baseOrMemberInitializers); in SetCtorInitializers()
5343 MarkBaseAndMemberDestructorsReferenced(Constructor->getLocation(), in SetCtorInitializers()
5344 Constructor->getParent()); in SetCtorInitializers()
5389 Sema &SemaRef, const CXXConstructorDecl *Constructor, in DiagnoseBaseOrMemInitializerOrder() argument
5391 if (Constructor->getDeclContext()->isDependentContext()) in DiagnoseBaseOrMemInitializerOrder()
5413 const CXXRecordDecl *ClassDecl = Constructor->getParent(); in DiagnoseBaseOrMemInitializerOrder()
5593 CXXConstructorDecl *Constructor in ActOnMemInitializers() local
5596 if (!Constructor) { in ActOnMemInitializers()
5634 SetDelegatingInitializer(Constructor, MemInits[i]); in ActOnMemInitializers()
5643 DiagnoseBaseOrMemInitializerOrder(*this, Constructor, MemInits); in ActOnMemInitializers()
5645 SetCtorInitializers(Constructor, AnyErrors, MemInits); in ActOnMemInitializers()
5647 DiagnoseUninitializedFields(*this, Constructor); in ActOnMemInitializers()
5799 if (CXXConstructorDecl *Constructor in ActOnDefaultCtorInitializers() local
5801 SetCtorInitializers(Constructor, /*AnyErrors=*/false); in ActOnDefaultCtorInitializers()
5802 DiagnoseUninitializedFields(*this, Constructor); in ActOnDefaultCtorInitializers()
10505 if (CXXConstructorDecl *Constructor = dyn_cast<CXXConstructorDecl>(Method)) in ActOnFinishDelayedCXXMethodDeclaration() local
10506 CheckConstructor(Constructor); in ActOnFinishDelayedCXXMethodDeclaration()
10603 void Sema::CheckConstructor(CXXConstructorDecl *Constructor) { in CheckConstructor() argument
10605 = dyn_cast<CXXRecordDecl>(Constructor->getDeclContext()); in CheckConstructor()
10607 return Constructor->setInvalidDecl(); in CheckConstructor()
10614 if (!Constructor->isInvalidDecl() && in CheckConstructor()
10615 Constructor->hasOneParamOrDefaultArgs() && in CheckConstructor()
10616 Constructor->getTemplateSpecializationKind() != in CheckConstructor()
10618 QualType ParamType = Constructor->getParamDecl(0)->getType(); in CheckConstructor()
10621 SourceLocation ParamLoc = Constructor->getParamDecl(0)->getLocation(); in CheckConstructor()
10623 = Constructor->getParamDecl(0)->getIdentifier() ? "const &" in CheckConstructor()
10630 Constructor->setInvalidDecl(); in CheckConstructor()
13584 CXXConstructorDecl *Constructor) { in DefineImplicitDefaultConstructor() argument
13585 assert((Constructor->isDefaulted() && Constructor->isDefaultConstructor() && in DefineImplicitDefaultConstructor()
13586 !Constructor->doesThisDeclarationHaveABody() && in DefineImplicitDefaultConstructor()
13587 !Constructor->isDeleted()) && in DefineImplicitDefaultConstructor()
13589 if (Constructor->willHaveBody() || Constructor->isInvalidDecl()) in DefineImplicitDefaultConstructor()
13592 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineImplicitDefaultConstructor()
13595 SynthesizedFunctionScope Scope(*this, Constructor); in DefineImplicitDefaultConstructor()
13600 Constructor->getType()->castAs<FunctionProtoType>()); in DefineImplicitDefaultConstructor()
13606 if (SetCtorInitializers(Constructor, /*AnyErrors=*/false)) { in DefineImplicitDefaultConstructor()
13607 Constructor->setInvalidDecl(); in DefineImplicitDefaultConstructor()
13611 SourceLocation Loc = Constructor->getEndLoc().isValid() in DefineImplicitDefaultConstructor()
13612 ? Constructor->getEndLoc() in DefineImplicitDefaultConstructor()
13613 : Constructor->getLocation(); in DefineImplicitDefaultConstructor()
13614 Constructor->setBody(new (Context) CompoundStmt(Loc)); in DefineImplicitDefaultConstructor()
13615 Constructor->markUsed(Context); in DefineImplicitDefaultConstructor()
13618 L->CompletedImplicitDefinition(Constructor); in DefineImplicitDefaultConstructor()
13621 DiagnoseUninitializedFields(*this, Constructor); in DefineImplicitDefaultConstructor()
13723 CXXConstructorDecl *Constructor) { in DefineInheritingConstructor() argument
13724 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineInheritingConstructor()
13725 assert(Constructor->getInheritedConstructor() && in DefineInheritingConstructor()
13726 !Constructor->doesThisDeclarationHaveABody() && in DefineInheritingConstructor()
13727 !Constructor->isDeleted()); in DefineInheritingConstructor()
13728 if (Constructor->willHaveBody() || Constructor->isInvalidDecl()) in DefineInheritingConstructor()
13733 SynthesizedFunctionScope Scope(*this, Constructor); in DefineInheritingConstructor()
13738 Constructor->getType()->castAs<FunctionProtoType>()); in DefineInheritingConstructor()
13745 Constructor->getInheritedConstructor().getShadowDecl(); in DefineInheritingConstructor()
13747 Constructor->getInheritedConstructor().getConstructor(); in DefineInheritingConstructor()
13788 if (SetCtorInitializers(Constructor, /*AnyErrors*/false, Inits)) { in DefineInheritingConstructor()
13789 Constructor->setInvalidDecl(); in DefineInheritingConstructor()
13793 Constructor->setBody(new (Context) CompoundStmt(InitLoc)); in DefineInheritingConstructor()
13794 Constructor->markUsed(Context); in DefineInheritingConstructor()
13797 L->CompletedImplicitDefinition(Constructor); in DefineInheritingConstructor()
13800 DiagnoseUninitializedFields(*this, Constructor); in DefineInheritingConstructor()
15566 CXXConstructorDecl *Constructor, in BuildCXXConstructExpr() argument
15586 if (ConstructKind == CXXConstructExpr::CK_Complete && Constructor && in BuildCXXConstructExpr()
15592 Constructor->isCopyOrMoveConstructor() && hasOneRealArgument(ExprArgs)) { in BuildCXXConstructExpr()
15603 FoundDecl, Constructor, in BuildCXXConstructExpr()
15613 CXXConstructorDecl *Constructor, in BuildCXXConstructExpr() argument
15623 Constructor = findInheritingConstructor(ConstructLoc, Constructor, Shadow); in BuildCXXConstructExpr()
15627 if (DiagnoseUseOfOverloadedDecl(Constructor, ConstructLoc)) in BuildCXXConstructExpr()
15632 ConstructLoc, DeclInitType, Constructor, Elidable, ExprArgs, in BuildCXXConstructExpr()
15641 CXXConstructorDecl *Constructor, in BuildCXXConstructExpr() argument
15651 Constructor->getParent(), in BuildCXXConstructExpr()
15654 MarkFunctionReferenced(ConstructLoc, Constructor); in BuildCXXConstructExpr()
15655 if (getLangOpts().CUDA && !CheckCUDACall(ConstructLoc, Constructor)) in BuildCXXConstructExpr()
15658 !checkSYCLDeviceFunction(ConstructLoc, Constructor)) in BuildCXXConstructExpr()
15663 Context, DeclInitType, ConstructLoc, Constructor, Elidable, ExprArgs, in BuildCXXConstructExpr()
15668 Constructor); in BuildCXXConstructExpr()
15733 bool Sema::CompleteConstructorCall(CXXConstructorDecl *Constructor, in CompleteConstructorCall() argument
15743 const auto *Proto = Constructor->getType()->castAs<FunctionProtoType>(); in CompleteConstructorCall()
15756 Loc, Constructor, Proto, 0, llvm::ArrayRef(Args, NumArgs), AllArgs, in CompleteConstructorCall()
15760 DiagnoseSentinelCalls(Constructor, Loc, AllArgs); in CompleteConstructorCall()
15762 CheckConstructorCall(Constructor, DeclInitType, in CompleteConstructorCall()