Lines Matching refs:Constructor
2321 if (const CXXConstructorDecl *Constructor in CheckConstexprFunctionBody() local
2323 const CXXRecordDecl *RD = Constructor->getParent(); in CheckConstexprFunctionBody()
2331 if (Constructor->getNumCtorInitializers() == 0 && in CheckConstexprFunctionBody()
2343 } else if (!Constructor->isDependentContext() && in CheckConstexprFunctionBody()
2344 !Constructor->isDelegatingConstructor()) { in CheckConstexprFunctionBody()
2363 Constructor->getNumCtorInitializers() != RD->getNumBases() + Fields) { in CheckConstexprFunctionBody()
2368 for (const auto *I: Constructor->inits()) { in CheckConstexprFunctionBody()
3637 const CXXConstructorDecl *Constructor; member in __anon3ed73ef90f11::UninitializedFieldVisitor
3651 Constructor(nullptr), InitList(false), InitListFieldDecl(nullptr) {} in UninitializedFieldVisitor()
3766 if (Constructor) in HandleMemberExpr()
3767 S.Diag(Constructor->getLocation(), in HandleMemberExpr()
3769 << (Constructor->isDefaultConstructor() && Constructor->isImplicit()); in HandleMemberExpr()
3841 Constructor = FieldConstructor; in CheckInitializer()
3963 Sema &SemaRef, const CXXConstructorDecl *Constructor) { in DiagnoseUninitializedFields() argument
3966 Constructor->getLocation())) { in DiagnoseUninitializedFields()
3970 if (Constructor->isInvalidDecl()) in DiagnoseUninitializedFields()
3973 const CXXRecordDecl *RD = Constructor->getParent(); in DiagnoseUninitializedFields()
4001 for (const auto *FieldInit : Constructor->inits()) { in DiagnoseUninitializedFields()
4015 UninitializedChecker.CheckInitializer(InitExpr, Constructor, in DiagnoseUninitializedFields()
4301 CXXConstructorDecl *Constructor in BuildMemInitializer() local
4303 if (!Constructor) { in BuildMemInitializer()
4311 CXXRecordDecl *ClassDecl = Constructor->getParent(); in BuildMemInitializer()
4783 BuildImplicitBaseInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitBaseInitializer() argument
4798 = InitializationKind::CreateDefault(Constructor->getLocation()); in BuildImplicitBaseInitializer()
4807 ParmVarDecl *Param = Constructor->getParamDecl(0); in BuildImplicitBaseInitializer()
4813 Constructor->getLocation(), ParamType, in BuildImplicitBaseInitializer()
4835 = InitializationKind::CreateDirect(Constructor->getLocation(), in BuildImplicitBaseInitializer()
4866 BuildImplicitMemberInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitMemberInitializer() argument
4873 SourceLocation Loc = Constructor->getLocation(); in BuildImplicitMemberInitializer()
4877 ParmVarDecl *Param = Constructor->getParamDecl(0); in BuildImplicitMemberInitializer()
4988 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
4990 << (int)Constructor->isImplicit() in BuildImplicitMemberInitializer()
4991 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
4998 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
5000 << (int)Constructor->isImplicit() in BuildImplicitMemberInitializer()
5001 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
5199 Sema::SetDelegatingInitializer(CXXConstructorDecl *Constructor, in SetDelegatingInitializer() argument
5202 Constructor->setNumCtorInitializers(1); in SetDelegatingInitializer()
5206 Constructor->setCtorInitializers(initializer); in SetDelegatingInitializer()
5208 if (CXXDestructorDecl *Dtor = LookupDestructor(Constructor->getParent())) { in SetDelegatingInitializer()
5213 DelegatingCtorDecls.push_back(Constructor); in SetDelegatingInitializer()
5215 DiagnoseUninitializedFields(*this, Constructor); in SetDelegatingInitializer()
5220 bool Sema::SetCtorInitializers(CXXConstructorDecl *Constructor, bool AnyErrors, in SetCtorInitializers() argument
5222 if (Constructor->isDependentContext()) { in SetCtorInitializers()
5226 Constructor->setNumCtorInitializers(Initializers.size()); in SetCtorInitializers()
5231 Constructor->setCtorInitializers(baseOrMemberInitializers); in SetCtorInitializers()
5236 Constructor->setInvalidDecl(); in SetCtorInitializers()
5241 BaseAndFieldInfo Info(*this, Constructor, AnyErrors); in SetCtorInitializers()
5245 CXXRecordDecl *ClassDecl = Constructor->getParent()->getDefinition(); in SetCtorInitializers()
5305 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK, in SetCtorInitializers()
5327 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK, in SetCtorInitializers()
5380 Constructor->setNumCtorInitializers(NumInitializers); in SetCtorInitializers()
5385 Constructor->setCtorInitializers(baseOrMemberInitializers); in SetCtorInitializers()
5389 MarkBaseAndMemberDestructorsReferenced(Constructor->getLocation(), in SetCtorInitializers()
5390 Constructor->getParent()); in SetCtorInitializers()
5435 Sema &SemaRef, const CXXConstructorDecl *Constructor, in DiagnoseBaseOrMemInitializerOrder() argument
5437 if (Constructor->getDeclContext()->isDependentContext()) in DiagnoseBaseOrMemInitializerOrder()
5459 const CXXRecordDecl *ClassDecl = Constructor->getParent(); in DiagnoseBaseOrMemInitializerOrder()
5638 CXXConstructorDecl *Constructor in ActOnMemInitializers() local
5641 if (!Constructor) { in ActOnMemInitializers()
5679 SetDelegatingInitializer(Constructor, MemInits[i]); in ActOnMemInitializers()
5688 DiagnoseBaseOrMemInitializerOrder(*this, Constructor, MemInits); in ActOnMemInitializers()
5690 SetCtorInitializers(Constructor, AnyErrors, MemInits); in ActOnMemInitializers()
5692 DiagnoseUninitializedFields(*this, Constructor); in ActOnMemInitializers()
5844 if (CXXConstructorDecl *Constructor in ActOnDefaultCtorInitializers() local
5846 if (CXXRecordDecl *ClassDecl = Constructor->getParent(); in ActOnDefaultCtorInitializers()
5850 SetCtorInitializers(Constructor, /*AnyErrors=*/false); in ActOnDefaultCtorInitializers()
5851 DiagnoseUninitializedFields(*this, Constructor); in ActOnDefaultCtorInitializers()
10719 if (CXXConstructorDecl *Constructor = dyn_cast<CXXConstructorDecl>(Method)) in ActOnFinishDelayedCXXMethodDeclaration() local
10720 CheckConstructor(Constructor); in ActOnFinishDelayedCXXMethodDeclaration()
10808 void Sema::CheckConstructor(CXXConstructorDecl *Constructor) { in CheckConstructor() argument
10810 = dyn_cast<CXXRecordDecl>(Constructor->getDeclContext()); in CheckConstructor()
10812 return Constructor->setInvalidDecl(); in CheckConstructor()
10819 if (!Constructor->isInvalidDecl() && in CheckConstructor()
10820 Constructor->hasOneParamOrDefaultArgs() && in CheckConstructor()
10821 Constructor->getTemplateSpecializationKind() != in CheckConstructor()
10823 QualType ParamType = Constructor->getParamDecl(0)->getType(); in CheckConstructor()
10826 SourceLocation ParamLoc = Constructor->getParamDecl(0)->getLocation(); in CheckConstructor()
10828 = Constructor->getParamDecl(0)->getIdentifier() ? "const &" in CheckConstructor()
10835 Constructor->setInvalidDecl(); in CheckConstructor()
13892 CXXConstructorDecl *Constructor) { in DefineImplicitDefaultConstructor() argument
13893 assert((Constructor->isDefaulted() && Constructor->isDefaultConstructor() && in DefineImplicitDefaultConstructor()
13894 !Constructor->doesThisDeclarationHaveABody() && in DefineImplicitDefaultConstructor()
13895 !Constructor->isDeleted()) && in DefineImplicitDefaultConstructor()
13897 if (Constructor->willHaveBody() || Constructor->isInvalidDecl()) in DefineImplicitDefaultConstructor()
13900 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineImplicitDefaultConstructor()
13906 SynthesizedFunctionScope Scope(*this, Constructor); in DefineImplicitDefaultConstructor()
13911 Constructor->getType()->castAs<FunctionProtoType>()); in DefineImplicitDefaultConstructor()
13917 if (SetCtorInitializers(Constructor, /*AnyErrors=*/false)) { in DefineImplicitDefaultConstructor()
13918 Constructor->setInvalidDecl(); in DefineImplicitDefaultConstructor()
13922 SourceLocation Loc = Constructor->getEndLoc().isValid() in DefineImplicitDefaultConstructor()
13923 ? Constructor->getEndLoc() in DefineImplicitDefaultConstructor()
13924 : Constructor->getLocation(); in DefineImplicitDefaultConstructor()
13925 Constructor->setBody(new (Context) CompoundStmt(Loc)); in DefineImplicitDefaultConstructor()
13926 Constructor->markUsed(Context); in DefineImplicitDefaultConstructor()
13929 L->CompletedImplicitDefinition(Constructor); in DefineImplicitDefaultConstructor()
13932 DiagnoseUninitializedFields(*this, Constructor); in DefineImplicitDefaultConstructor()
14036 CXXConstructorDecl *Constructor) { in DefineInheritingConstructor() argument
14037 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineInheritingConstructor()
14038 assert(Constructor->getInheritedConstructor() && in DefineInheritingConstructor()
14039 !Constructor->doesThisDeclarationHaveABody() && in DefineInheritingConstructor()
14040 !Constructor->isDeleted()); in DefineInheritingConstructor()
14041 if (Constructor->willHaveBody() || Constructor->isInvalidDecl()) in DefineInheritingConstructor()
14046 SynthesizedFunctionScope Scope(*this, Constructor); in DefineInheritingConstructor()
14051 Constructor->getType()->castAs<FunctionProtoType>()); in DefineInheritingConstructor()
14058 Constructor->getInheritedConstructor().getShadowDecl(); in DefineInheritingConstructor()
14060 Constructor->getInheritedConstructor().getConstructor(); in DefineInheritingConstructor()
14101 if (SetCtorInitializers(Constructor, /*AnyErrors*/false, Inits)) { in DefineInheritingConstructor()
14102 Constructor->setInvalidDecl(); in DefineInheritingConstructor()
14106 Constructor->setBody(new (Context) CompoundStmt(InitLoc)); in DefineInheritingConstructor()
14107 Constructor->markUsed(Context); in DefineInheritingConstructor()
14110 L->CompletedImplicitDefinition(Constructor); in DefineInheritingConstructor()
14113 DiagnoseUninitializedFields(*this, Constructor); in DefineInheritingConstructor()
15918 CXXConstructorDecl *Constructor, MultiExprArg ExprArgs, in BuildCXXConstructExpr() argument
15934 if (ConstructKind == CXXConstructionKind::Complete && Constructor && in BuildCXXConstructExpr()
15940 Constructor->isCopyOrMoveConstructor() && hasOneRealArgument(ExprArgs)) { in BuildCXXConstructExpr()
15951 FoundDecl, Constructor, in BuildCXXConstructExpr()
15960 CXXConstructorDecl *Constructor, bool Elidable, MultiExprArg ExprArgs, in BuildCXXConstructExpr() argument
15965 Constructor = findInheritingConstructor(ConstructLoc, Constructor, Shadow); in BuildCXXConstructExpr()
15969 if (DiagnoseUseOfOverloadedDecl(Constructor, ConstructLoc)) in BuildCXXConstructExpr()
15974 ConstructLoc, DeclInitType, Constructor, Elidable, ExprArgs, in BuildCXXConstructExpr()
15983 CXXConstructorDecl *Constructor, bool Elidable, MultiExprArg ExprArgs, in BuildCXXConstructExpr() argument
15988 Constructor->getParent(), in BuildCXXConstructExpr()
15991 MarkFunctionReferenced(ConstructLoc, Constructor); in BuildCXXConstructExpr()
15992 if (getLangOpts().CUDA && !CUDA().CheckCall(ConstructLoc, Constructor)) in BuildCXXConstructExpr()
15997 Context, DeclInitType, ConstructLoc, Constructor, Elidable, ExprArgs, in BuildCXXConstructExpr()
16001 Constructor); in BuildCXXConstructExpr()
16067 bool Sema::CompleteConstructorCall(CXXConstructorDecl *Constructor, in CompleteConstructorCall() argument
16077 const auto *Proto = Constructor->getType()->castAs<FunctionProtoType>(); in CompleteConstructorCall()
16090 Loc, Constructor, Proto, 0, llvm::ArrayRef(Args, NumArgs), AllArgs, in CompleteConstructorCall()
16094 DiagnoseSentinelCalls(Constructor, Loc, AllArgs); in CompleteConstructorCall()
16096 CheckConstructorCall(Constructor, DeclInitType, in CompleteConstructorCall()