Lines Matching refs:Constructor

1169   if (const CXXConstructorDecl *Constructor  in CheckConstexprFunctionBody()  local
1171 const CXXRecordDecl *RD = Constructor->getParent(); in CheckConstexprFunctionBody()
1179 if (Constructor->getNumCtorInitializers() == 0 && in CheckConstexprFunctionBody()
1184 } else if (!Constructor->isDependentContext() && in CheckConstexprFunctionBody()
1185 !Constructor->isDelegatingConstructor()) { in CheckConstexprFunctionBody()
1204 Constructor->getNumCtorInitializers() != RD->getNumBases() + Fields) { in CheckConstexprFunctionBody()
1209 for (const auto *I: Constructor->inits()) { in CheckConstexprFunctionBody()
2277 const CXXConstructorDecl *Constructor; member in __anonce4ea9d90211::UninitializedFieldVisitor
2291 Constructor(nullptr), InitList(false), InitListFieldDecl(nullptr) {} in UninitializedFieldVisitor()
2405 if (Constructor) in HandleMemberExpr()
2406 S.Diag(Constructor->getLocation(), in HandleMemberExpr()
2408 << (Constructor->isDefaultConstructor() && Constructor->isImplicit()); in HandleMemberExpr()
2480 Constructor = FieldConstructor; in CheckInitializer()
2607 Sema &SemaRef, const CXXConstructorDecl *Constructor) { in DiagnoseUninitializedFields() argument
2610 Constructor->getLocation())) { in DiagnoseUninitializedFields()
2614 if (Constructor->isInvalidDecl()) in DiagnoseUninitializedFields()
2617 const CXXRecordDecl *RD = Constructor->getParent(); in DiagnoseUninitializedFields()
2645 for (const auto *FieldInit : Constructor->inits()) { in DiagnoseUninitializedFields()
2659 UninitializedChecker.CheckInitializer(InitExpr, Constructor, in DiagnoseUninitializedFields()
2857 CXXConstructorDecl *Constructor in BuildMemInitializer() local
2859 if (!Constructor) { in BuildMemInitializer()
2867 CXXRecordDecl *ClassDecl = Constructor->getParent(); in BuildMemInitializer()
3332 BuildImplicitBaseInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitBaseInitializer() argument
3346 Constructor->getInheritedConstructor()->getParent(); in BuildImplicitBaseInitializer()
3354 for (unsigned I = 0, E = Constructor->getNumParams(); I != E; ++I) { in BuildImplicitBaseInitializer()
3355 ParmVarDecl *PD = Constructor->getParamDecl(I); in BuildImplicitBaseInitializer()
3365 Constructor->getLocation(), SourceLocation(), SourceLocation()); in BuildImplicitBaseInitializer()
3374 = InitializationKind::CreateDefault(Constructor->getLocation()); in BuildImplicitBaseInitializer()
3383 ParmVarDecl *Param = Constructor->getParamDecl(0); in BuildImplicitBaseInitializer()
3389 Constructor->getLocation(), ParamType, in BuildImplicitBaseInitializer()
3411 = InitializationKind::CreateDirect(Constructor->getLocation(), in BuildImplicitBaseInitializer()
3442 BuildImplicitMemberInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitMemberInitializer() argument
3449 SourceLocation Loc = Constructor->getLocation(); in BuildImplicitMemberInitializer()
3453 ParmVarDecl *Param = Constructor->getParamDecl(0); in BuildImplicitMemberInitializer()
3629 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
3631 << (int)Constructor->isImplicit() in BuildImplicitMemberInitializer()
3632 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
3639 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
3641 << (int)Constructor->isImplicit() in BuildImplicitMemberInitializer()
3642 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
3839 Sema::SetDelegatingInitializer(CXXConstructorDecl *Constructor, in SetDelegatingInitializer() argument
3842 Constructor->setNumCtorInitializers(1); in SetDelegatingInitializer()
3846 Constructor->setCtorInitializers(initializer); in SetDelegatingInitializer()
3848 if (CXXDestructorDecl *Dtor = LookupDestructor(Constructor->getParent())) { in SetDelegatingInitializer()
3853 DelegatingCtorDecls.push_back(Constructor); in SetDelegatingInitializer()
3855 DiagnoseUninitializedFields(*this, Constructor); in SetDelegatingInitializer()
3860 bool Sema::SetCtorInitializers(CXXConstructorDecl *Constructor, bool AnyErrors, in SetCtorInitializers() argument
3862 if (Constructor->isDependentContext()) { in SetCtorInitializers()
3866 Constructor->setNumCtorInitializers(Initializers.size()); in SetCtorInitializers()
3871 Constructor->setCtorInitializers(baseOrMemberInitializers); in SetCtorInitializers()
3876 Constructor->setInvalidDecl(); in SetCtorInitializers()
3881 BaseAndFieldInfo Info(*this, Constructor, AnyErrors); in SetCtorInitializers()
3885 CXXRecordDecl *ClassDecl = Constructor->getParent()->getDefinition(); in SetCtorInitializers()
3945 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK, in SetCtorInitializers()
3967 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK, in SetCtorInitializers()
4020 Constructor->setNumCtorInitializers(NumInitializers); in SetCtorInitializers()
4025 Constructor->setCtorInitializers(baseOrMemberInitializers); in SetCtorInitializers()
4029 MarkBaseAndMemberDestructorsReferenced(Constructor->getLocation(), in SetCtorInitializers()
4030 Constructor->getParent()); in SetCtorInitializers()
4061 Sema &SemaRef, const CXXConstructorDecl *Constructor, in DiagnoseBaseOrMemInitializerOrder() argument
4063 if (Constructor->getDeclContext()->isDependentContext()) in DiagnoseBaseOrMemInitializerOrder()
4085 const CXXRecordDecl *ClassDecl = Constructor->getParent(); in DiagnoseBaseOrMemInitializerOrder()
4227 CXXConstructorDecl *Constructor in ActOnMemInitializers() local
4230 if (!Constructor) { in ActOnMemInitializers()
4268 SetDelegatingInitializer(Constructor, MemInits[i]); in ActOnMemInitializers()
4277 DiagnoseBaseOrMemInitializerOrder(*this, Constructor, MemInits); in ActOnMemInitializers()
4279 SetCtorInitializers(Constructor, AnyErrors, MemInits); in ActOnMemInitializers()
4281 DiagnoseUninitializedFields(*this, Constructor); in ActOnMemInitializers()
4403 if (CXXConstructorDecl *Constructor in ActOnDefaultCtorInitializers() local
4405 SetCtorInitializers(Constructor, /*AnyErrors=*/false); in ActOnDefaultCtorInitializers()
4406 DiagnoseUninitializedFields(*this, Constructor); in ActOnDefaultCtorInitializers()
6628 if (CXXConstructorDecl *Constructor = dyn_cast<CXXConstructorDecl>(Method)) in ActOnFinishDelayedCXXMethodDeclaration() local
6629 CheckConstructor(Constructor); in ActOnFinishDelayedCXXMethodDeclaration()
6716 void Sema::CheckConstructor(CXXConstructorDecl *Constructor) { in CheckConstructor() argument
6718 = dyn_cast<CXXRecordDecl>(Constructor->getDeclContext()); in CheckConstructor()
6720 return Constructor->setInvalidDecl(); in CheckConstructor()
6727 if (!Constructor->isInvalidDecl() && in CheckConstructor()
6728 ((Constructor->getNumParams() == 1) || in CheckConstructor()
6729 (Constructor->getNumParams() > 1 && in CheckConstructor()
6730 Constructor->getParamDecl(1)->hasDefaultArg())) && in CheckConstructor()
6731 Constructor->getTemplateSpecializationKind() in CheckConstructor()
6733 QualType ParamType = Constructor->getParamDecl(0)->getType(); in CheckConstructor()
6736 SourceLocation ParamLoc = Constructor->getParamDecl(0)->getLocation(); in CheckConstructor()
6738 = Constructor->getParamDecl(0)->getIdentifier() ? "const &" in CheckConstructor()
6745 Constructor->setInvalidDecl(); in CheckConstructor()
8751 CXXConstructorDecl *Constructor = LookupDefaultConstructor(BaseClassDecl); in ComputeDefaultedDefaultCtorExceptionSpec() local
8754 if (Constructor) in ComputeDefaultedDefaultCtorExceptionSpec()
8755 ExceptSpec.CalledDecl(B.getLocStart(), Constructor); in ComputeDefaultedDefaultCtorExceptionSpec()
8763 CXXConstructorDecl *Constructor = LookupDefaultConstructor(BaseClassDecl); in ComputeDefaultedDefaultCtorExceptionSpec() local
8766 if (Constructor) in ComputeDefaultedDefaultCtorExceptionSpec()
8767 ExceptSpec.CalledDecl(B.getLocStart(), Constructor); in ComputeDefaultedDefaultCtorExceptionSpec()
8779 CXXConstructorDecl *Constructor = LookupDefaultConstructor(FieldRecDecl); in ComputeDefaultedDefaultCtorExceptionSpec() local
8785 if (Constructor) in ComputeDefaultedDefaultCtorExceptionSpec()
8786 ExceptSpec.CalledDecl(F->getLocation(), Constructor); in ComputeDefaultedDefaultCtorExceptionSpec()
8820 CXXConstructorDecl *Constructor = LookupDefaultConstructor(BaseClassDecl); in ComputeInheritingCtorExceptionSpec() local
8821 if (Constructor) in ComputeInheritingCtorExceptionSpec()
8822 ExceptSpec.CalledDecl(B.getLocStart(), Constructor); in ComputeInheritingCtorExceptionSpec()
8832 CXXConstructorDecl *Constructor = LookupDefaultConstructor(BaseClassDecl); in ComputeInheritingCtorExceptionSpec() local
8833 if (Constructor) in ComputeInheritingCtorExceptionSpec()
8834 ExceptSpec.CalledDecl(B.getLocStart(), Constructor); in ComputeInheritingCtorExceptionSpec()
8846 CXXConstructorDecl *Constructor = LookupDefaultConstructor(FieldRecDecl); in ComputeInheritingCtorExceptionSpec() local
8847 if (Constructor) in ComputeInheritingCtorExceptionSpec()
8848 ExceptSpec.CalledDecl(F->getLocation(), Constructor); in ComputeInheritingCtorExceptionSpec()
8947 CXXConstructorDecl *Constructor) { in DefineImplicitDefaultConstructor() argument
8948 assert((Constructor->isDefaulted() && Constructor->isDefaultConstructor() && in DefineImplicitDefaultConstructor()
8949 !Constructor->doesThisDeclarationHaveABody() && in DefineImplicitDefaultConstructor()
8950 !Constructor->isDeleted()) && in DefineImplicitDefaultConstructor()
8953 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineImplicitDefaultConstructor()
8956 SynthesizedFunctionScope Scope(*this, Constructor); in DefineImplicitDefaultConstructor()
8958 if (SetCtorInitializers(Constructor, /*AnyErrors=*/false) || in DefineImplicitDefaultConstructor()
8962 Constructor->setInvalidDecl(); in DefineImplicitDefaultConstructor()
8969 Constructor->getType()->castAs<FunctionProtoType>()); in DefineImplicitDefaultConstructor()
8971 SourceLocation Loc = Constructor->getLocEnd().isValid() in DefineImplicitDefaultConstructor()
8972 ? Constructor->getLocEnd() in DefineImplicitDefaultConstructor()
8973 : Constructor->getLocation(); in DefineImplicitDefaultConstructor()
8974 Constructor->setBody(new (Context) CompoundStmt(Loc)); in DefineImplicitDefaultConstructor()
8976 Constructor->markUsed(Context); in DefineImplicitDefaultConstructor()
8980 L->CompletedImplicitDefinition(Constructor); in DefineImplicitDefaultConstructor()
8983 DiagnoseUninitializedFields(*this, Constructor); in DefineImplicitDefaultConstructor()
9292 CXXConstructorDecl *Constructor) { in DefineInheritingConstructor() argument
9293 CXXRecordDecl *ClassDecl = Constructor->getParent(); in DefineInheritingConstructor()
9294 assert(Constructor->getInheritedConstructor() && in DefineInheritingConstructor()
9295 !Constructor->doesThisDeclarationHaveABody() && in DefineInheritingConstructor()
9296 !Constructor->isDeleted()); in DefineInheritingConstructor()
9298 SynthesizedFunctionScope Scope(*this, Constructor); in DefineInheritingConstructor()
9300 if (SetCtorInitializers(Constructor, /*AnyErrors=*/false) || in DefineInheritingConstructor()
9304 Constructor->setInvalidDecl(); in DefineInheritingConstructor()
9308 SourceLocation Loc = Constructor->getLocation(); in DefineInheritingConstructor()
9309 Constructor->setBody(new (Context) CompoundStmt(Loc)); in DefineInheritingConstructor()
9311 Constructor->markUsed(Context); in DefineInheritingConstructor()
9315 L->CompletedImplicitDefinition(Constructor); in DefineInheritingConstructor()
10985 CXXConstructorDecl *Constructor = in ComputeDefaultedMoveCtorExceptionSpec() local
10989 if (Constructor) in ComputeDefaultedMoveCtorExceptionSpec()
10990 ExceptSpec.CalledDecl(B.getLocStart(), Constructor); in ComputeDefaultedMoveCtorExceptionSpec()
10998 CXXConstructorDecl *Constructor = in ComputeDefaultedMoveCtorExceptionSpec() local
11002 if (Constructor) in ComputeDefaultedMoveCtorExceptionSpec()
11003 ExceptSpec.CalledDecl(B.getLocStart(), Constructor); in ComputeDefaultedMoveCtorExceptionSpec()
11011 CXXConstructorDecl *Constructor = in ComputeDefaultedMoveCtorExceptionSpec() local
11018 if (Constructor) in ComputeDefaultedMoveCtorExceptionSpec()
11019 ExceptSpec.CalledDecl(F->getLocation(), Constructor); in ComputeDefaultedMoveCtorExceptionSpec()
11296 CXXConstructorDecl *Constructor, in BuildCXXConstructExpr() argument
11317 Constructor->isCopyOrMoveConstructor() && hasOneRealArgument(ExprArgs)) { in BuildCXXConstructExpr()
11319 Elidable = SubExpr->isTemporaryObject(Context, Constructor->getParent()); in BuildCXXConstructExpr()
11322 return BuildCXXConstructExpr(ConstructLoc, DeclInitType, Constructor, in BuildCXXConstructExpr()
11333 CXXConstructorDecl *Constructor, bool Elidable, in BuildCXXConstructExpr() argument
11341 MarkFunctionReferenced(ConstructLoc, Constructor); in BuildCXXConstructExpr()
11343 Context, DeclInitType, ConstructLoc, Constructor, Elidable, ExprArgs, in BuildCXXConstructExpr()
11434 Sema::CompleteConstructorCall(CXXConstructorDecl *Constructor, in CompleteConstructorCall() argument
11445 = Constructor->getType()->getAs<FunctionProtoType>(); in CompleteConstructorCall()
11458 bool Invalid = GatherArgumentsForCall(Loc, Constructor, in CompleteConstructorCall()
11466 DiagnoseSentinelCalls(Constructor, Loc, AllArgs); in CompleteConstructorCall()
11468 CheckConstructorCall(Constructor, in CompleteConstructorCall()