Lines Matching refs:Constructor
2267 if (const CXXConstructorDecl *Constructor in CheckConstexprFunctionBody() local
2269 const CXXRecordDecl *RD = Constructor->getParent(); in CheckConstexprFunctionBody()
2277 if (Constructor->getNumCtorInitializers() == 0 && in CheckConstexprFunctionBody()
2289 } else if (!Constructor->isDependentContext() && in CheckConstexprFunctionBody()
2290 !Constructor->isDelegatingConstructor()) { in CheckConstexprFunctionBody()
2309 Constructor->getNumCtorInitializers() != RD->getNumBases() + Fields) { in CheckConstexprFunctionBody()
2314 for (const auto *I: Constructor->inits()) { in CheckConstexprFunctionBody()
3594 const CXXConstructorDecl *Constructor; member in __anonc19065b01011::UninitializedFieldVisitor
3608 Constructor(nullptr), InitList(false), InitListFieldDecl(nullptr) {} in UninitializedFieldVisitor()
3723 if (Constructor) in HandleMemberExpr()
3724 S.Diag(Constructor->getLocation(), in HandleMemberExpr()
3726 << (Constructor->isDefaultConstructor() && Constructor->isImplicit()); in HandleMemberExpr()
3798 Constructor = FieldConstructor; in CheckInitializer()
3920 Sema &SemaRef, const CXXConstructorDecl *Constructor) { in DiagnoseUninitializedFields() argument
3923 Constructor->getLocation())) { in DiagnoseUninitializedFields()
3927 if (Constructor->isInvalidDecl()) in DiagnoseUninitializedFields()
3930 const CXXRecordDecl *RD = Constructor->getParent(); in DiagnoseUninitializedFields()
3958 for (const auto *FieldInit : Constructor->inits()) { in DiagnoseUninitializedFields()
3972 UninitializedChecker.CheckInitializer(InitExpr, Constructor, in DiagnoseUninitializedFields()
4224 CXXConstructorDecl *Constructor in BuildMemInitializer() local
4226 if (!Constructor) { in BuildMemInitializer()
4234 CXXRecordDecl *ClassDecl = Constructor->getParent(); in BuildMemInitializer()
4696 BuildImplicitBaseInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitBaseInitializer() argument
4711 = InitializationKind::CreateDefault(Constructor->getLocation()); in BuildImplicitBaseInitializer()
4720 ParmVarDecl *Param = Constructor->getParamDecl(0); in BuildImplicitBaseInitializer()
4726 Constructor->getLocation(), ParamType, in BuildImplicitBaseInitializer()
4748 = InitializationKind::CreateDirect(Constructor->getLocation(), in BuildImplicitBaseInitializer()
4779 BuildImplicitMemberInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitMemberInitializer() argument
4786 SourceLocation Loc = Constructor->getLocation(); in BuildImplicitMemberInitializer()
4790 ParmVarDecl *Param = Constructor->getParamDecl(0); in BuildImplicitMemberInitializer()
4901 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
4903 << (int)Constructor->isImplicit() in BuildImplicitMemberInitializer()
4904 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
4911 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
4913 << (int)Constructor->isImplicit() in BuildImplicitMemberInitializer()
4914 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
5112 Sema::SetDelegatingInitializer(CXXConstructorDecl *Constructor, in SetDelegatingInitializer() argument
5115 Constructor->setNumCtorInitializers(1); in SetDelegatingInitializer()
5119 Constructor->setCtorInitializers(initializer); in SetDelegatingInitializer()
5121 if (CXXDestructorDecl *Dtor = LookupDestructor(Constructor->getParent())) { in SetDelegatingInitializer()
5126 DelegatingCtorDecls.push_back(Constructor); in SetDelegatingInitializer()
5128 DiagnoseUninitializedFields(*this, Constructor); in SetDelegatingInitializer()
5133 bool Sema::SetCtorInitializers(CXXConstructorDecl *Constructor, bool AnyErrors, in SetCtorInitializers() argument
5135 if (Constructor->isDependentContext()) { in SetCtorInitializers()
5139 Constructor->setNumCtorInitializers(Initializers.size()); in SetCtorInitializers()
5144 Constructor->setCtorInitializers(baseOrMemberInitializers); in SetCtorInitializers()
5149 Constructor->setInvalidDecl(); in SetCtorInitializers()
5154 BaseAndFieldInfo Info(*this, Constructor, AnyErrors); in SetCtorInitializers()
5158 CXXRecordDecl *ClassDecl = Constructor->getParent()->getDefinition(); in SetCtorInitializers()
5218 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK, in SetCtorInitializers()
5240 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK, in SetCtorInitializers()
5293 Constructor->setNumCtorInitializers(NumInitializers); in SetCtorInitializers()
5298 Constructor->setCtorInitializers(baseOrMemberInitializers); in SetCtorInitializers()
5302 MarkBaseAndMemberDestructorsReferenced(Constructor->getLocation(), in SetCtorInitializers()
5303 Constructor->getParent()); in SetCtorInitializers()
5348 Sema &SemaRef, const CXXConstructorDecl *Constructor, in DiagnoseBaseOrMemInitializerOrder() argument
5350 if (Constructor->getDeclContext()->isDependentContext()) in DiagnoseBaseOrMemInitializerOrder()
5372 const CXXRecordDecl *ClassDecl = Constructor->getParent(); in DiagnoseBaseOrMemInitializerOrder()
5552 CXXConstructorDecl *Constructor in ActOnMemInitializers() local
5555 if (!Constructor) { in ActOnMemInitializers()
5593 SetDelegatingInitializer(Constructor, MemInits[i]); in ActOnMemInitializers()
5602 DiagnoseBaseOrMemInitializerOrder(*this, Constructor, MemInits); in ActOnMemInitializers()
5604 SetCtorInitializers(Constructor, AnyErrors, MemInits); in ActOnMemInitializers()
5606 DiagnoseUninitializedFields(*this, Constructor); in ActOnMemInitializers()
5752 if (CXXConstructorDecl *Constructor in ActOnDefaultCtorInitializers() local
5754 SetCtorInitializers(Constructor, /*AnyErrors=*/false); in ActOnDefaultCtorInitializers()
5755 DiagnoseUninitializedFields(*this, Constructor); in ActOnDefaultCtorInitializers()
10417 if (CXXConstructorDecl *Constructor = dyn_cast<CXXConstructorDecl>(Method)) in ActOnFinishDelayedCXXMethodDeclaration() local
10418 CheckConstructor(Constructor); in ActOnFinishDelayedCXXMethodDeclaration()
10515 void Sema::CheckConstructor(CXXConstructorDecl *Constructor) { in CheckConstructor() argument
10517 = dyn_cast<CXXRecordDecl>(Constructor->getDeclContext()); in CheckConstructor()
10519 return Constructor->setInvalidDecl(); in CheckConstructor()
10526 if (!Constructor->isInvalidDecl() && in CheckConstructor()
10527 Constructor->hasOneParamOrDefaultArgs() && in CheckConstructor()
10528 Constructor->getTemplateSpecializationKind() != in CheckConstructor()
10530 QualType ParamType = Constructor->getParamDecl(0)->getType(); in CheckConstructor()
10533 SourceLocation ParamLoc = Constructor->getParamDecl(0)->getLocation(); in CheckConstructor()
10535 = Constructor->getParamDecl(0)->getIdentifier() ? "const &" in CheckConstructor()
10542 Constructor->setInvalidDecl(); in CheckConstructor()
13475 CXXConstructorDecl *Constructor) { in DefineImplicitDefaultConstructor() argument
13476 assert((Constructor->isDefaulted() && Constructor->isDefaultConstructor() && in DefineImplicitDefaultConstructor()
13477 !Constructor->doesThisDeclarationHaveABody() && in DefineImplicitDefaultConstructor()
13478 !Constructor->isDeleted()) && in DefineImplicitDefaultConstructor()
13480 if (Constructor->willHaveBody() || Constructor->isInvalidDecl()) in DefineImplicitDefaultConstructor()
13483 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineImplicitDefaultConstructor()
13486 SynthesizedFunctionScope Scope(*this, Constructor); in DefineImplicitDefaultConstructor()
13491 Constructor->getType()->castAs<FunctionProtoType>()); in DefineImplicitDefaultConstructor()
13497 if (SetCtorInitializers(Constructor, /*AnyErrors=*/false)) { in DefineImplicitDefaultConstructor()
13498 Constructor->setInvalidDecl(); in DefineImplicitDefaultConstructor()
13502 SourceLocation Loc = Constructor->getEndLoc().isValid() in DefineImplicitDefaultConstructor()
13503 ? Constructor->getEndLoc() in DefineImplicitDefaultConstructor()
13504 : Constructor->getLocation(); in DefineImplicitDefaultConstructor()
13505 Constructor->setBody(new (Context) CompoundStmt(Loc)); in DefineImplicitDefaultConstructor()
13506 Constructor->markUsed(Context); in DefineImplicitDefaultConstructor()
13509 L->CompletedImplicitDefinition(Constructor); in DefineImplicitDefaultConstructor()
13512 DiagnoseUninitializedFields(*this, Constructor); in DefineImplicitDefaultConstructor()
13614 CXXConstructorDecl *Constructor) { in DefineInheritingConstructor() argument
13615 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineInheritingConstructor()
13616 assert(Constructor->getInheritedConstructor() && in DefineInheritingConstructor()
13617 !Constructor->doesThisDeclarationHaveABody() && in DefineInheritingConstructor()
13618 !Constructor->isDeleted()); in DefineInheritingConstructor()
13619 if (Constructor->willHaveBody() || Constructor->isInvalidDecl()) in DefineInheritingConstructor()
13624 SynthesizedFunctionScope Scope(*this, Constructor); in DefineInheritingConstructor()
13629 Constructor->getType()->castAs<FunctionProtoType>()); in DefineInheritingConstructor()
13636 Constructor->getInheritedConstructor().getShadowDecl(); in DefineInheritingConstructor()
13638 Constructor->getInheritedConstructor().getConstructor(); in DefineInheritingConstructor()
13679 if (SetCtorInitializers(Constructor, /*AnyErrors*/false, Inits)) { in DefineInheritingConstructor()
13680 Constructor->setInvalidDecl(); in DefineInheritingConstructor()
13684 Constructor->setBody(new (Context) CompoundStmt(InitLoc)); in DefineInheritingConstructor()
13685 Constructor->markUsed(Context); in DefineInheritingConstructor()
13688 L->CompletedImplicitDefinition(Constructor); in DefineInheritingConstructor()
13691 DiagnoseUninitializedFields(*this, Constructor); in DefineInheritingConstructor()
15443 CXXConstructorDecl *Constructor, in BuildCXXConstructExpr() argument
15463 if (ConstructKind == CXXConstructExpr::CK_Complete && Constructor && in BuildCXXConstructExpr()
15469 Constructor->isCopyOrMoveConstructor() && hasOneRealArgument(ExprArgs)) { in BuildCXXConstructExpr()
15480 FoundDecl, Constructor, in BuildCXXConstructExpr()
15490 CXXConstructorDecl *Constructor, in BuildCXXConstructExpr() argument
15500 Constructor = findInheritingConstructor(ConstructLoc, Constructor, Shadow); in BuildCXXConstructExpr()
15501 if (DiagnoseUseOfDecl(Constructor, ConstructLoc)) in BuildCXXConstructExpr()
15506 ConstructLoc, DeclInitType, Constructor, Elidable, ExprArgs, in BuildCXXConstructExpr()
15515 CXXConstructorDecl *Constructor, in BuildCXXConstructExpr() argument
15525 Constructor->getParent(), in BuildCXXConstructExpr()
15528 MarkFunctionReferenced(ConstructLoc, Constructor); in BuildCXXConstructExpr()
15529 if (getLangOpts().CUDA && !CheckCUDACall(ConstructLoc, Constructor)) in BuildCXXConstructExpr()
15532 !checkSYCLDeviceFunction(ConstructLoc, Constructor)) in BuildCXXConstructExpr()
15537 Context, DeclInitType, ConstructLoc, Constructor, Elidable, ExprArgs, in BuildCXXConstructExpr()
15542 Constructor); in BuildCXXConstructExpr()
15671 bool Sema::CompleteConstructorCall(CXXConstructorDecl *Constructor, in CompleteConstructorCall() argument
15681 const auto *Proto = Constructor->getType()->castAs<FunctionProtoType>(); in CompleteConstructorCall()
15693 bool Invalid = GatherArgumentsForCall(Loc, Constructor, in CompleteConstructorCall()
15701 DiagnoseSentinelCalls(Constructor, Loc, AllArgs); in CompleteConstructorCall()
15703 CheckConstructorCall(Constructor, DeclInitType, in CompleteConstructorCall()