Lines Matching refs:SemaRef

1556 static bool CheckConstexprParameterTypes(Sema &SemaRef,  in CheckConstexprParameterTypes()  argument
1566 SemaRef.RequireLiteralType(ParamLoc, *i, in CheckConstexprParameterTypes()
1655 static bool CheckConstexprDeclStmt(Sema &SemaRef, const FunctionDecl *Dcl, in CheckConstexprDeclStmt() argument
1681 SemaRef.Diag(TL.getBeginLoc(), diag::err_constexpr_vla) in CheckConstexprDeclStmt()
1693 SemaRef.Diag(DS->getBeginLoc(), in CheckConstexprDeclStmt()
1694 SemaRef.getLangOpts().CPlusPlus14 in CheckConstexprDeclStmt()
1715 SemaRef.Diag(VD->getLocation(), in CheckConstexprDeclStmt()
1722 SemaRef.RequireLiteralType( in CheckConstexprDeclStmt()
1729 SemaRef.Diag(VD->getLocation(), in CheckConstexprDeclStmt()
1735 SemaRef.Diag(VD->getLocation(), in CheckConstexprDeclStmt()
1736 SemaRef.getLangOpts().CPlusPlus14 in CheckConstexprDeclStmt()
1752 SemaRef.Diag(DS->getBeginLoc(), diag::err_constexpr_body_invalid_stmt) in CheckConstexprDeclStmt()
1769 static void CheckConstexprCtorInitializer(Sema &SemaRef, in CheckConstexprCtorInitializer() argument
1791 SemaRef.Diag(Dcl->getLocation(), diag::err_constexpr_ctor_missing_init); in CheckConstexprCtorInitializer()
1794 SemaRef.Diag(Field->getLocation(), diag::note_constexpr_ctor_missing_init); in CheckConstexprCtorInitializer()
1801 CheckConstexprCtorInitializer(SemaRef, Dcl, I, Inits, Diagnosed); in CheckConstexprCtorInitializer()
1808 CheckConstexprFunctionStmt(Sema &SemaRef, const FunctionDecl *Dcl, Stmt *S, in CheckConstexprFunctionStmt() argument
1823 if (!CheckConstexprDeclStmt(SemaRef, Dcl, cast<DeclStmt>(S), Cxx1yLoc)) in CheckConstexprFunctionStmt()
1846 if (!CheckConstexprFunctionStmt(SemaRef, Dcl, BodyIt, ReturnStmts, in CheckConstexprFunctionStmt()
1864 if (!CheckConstexprFunctionStmt(SemaRef, Dcl, If->getThen(), ReturnStmts, in CheckConstexprFunctionStmt()
1868 !CheckConstexprFunctionStmt(SemaRef, Dcl, If->getElse(), ReturnStmts, in CheckConstexprFunctionStmt()
1881 if (!SemaRef.getLangOpts().CPlusPlus14) in CheckConstexprFunctionStmt()
1887 !CheckConstexprFunctionStmt(SemaRef, Dcl, SubStmt, ReturnStmts, in CheckConstexprFunctionStmt()
1902 !CheckConstexprFunctionStmt(SemaRef, Dcl, SubStmt, ReturnStmts, in CheckConstexprFunctionStmt()
1912 !CheckConstexprFunctionStmt(SemaRef, Dcl, SubStmt, ReturnStmts, in CheckConstexprFunctionStmt()
1921 if (!CheckConstexprFunctionStmt(SemaRef, Dcl, in CheckConstexprFunctionStmt()
1937 SemaRef.Diag(S->getBeginLoc(), diag::err_constexpr_body_invalid_stmt) in CheckConstexprFunctionStmt()
3569 Sema &SemaRef, const CXXConstructorDecl *Constructor) { in DiagnoseUninitializedFields() argument
3571 if (SemaRef.getDiagnostics().isIgnored(diag::warn_field_is_uninit, in DiagnoseUninitializedFields()
3603 UninitializedFieldVisitor UninitializedChecker(SemaRef, in DiagnoseUninitializedFields()
3703 static bool FindBaseInitializer(Sema &SemaRef, in FindBaseInitializer() argument
3711 if (SemaRef.Context.hasSameUnqualifiedType(BaseType, Base.getType())) { in FindBaseInitializer()
3728 if (SemaRef.IsDerivedFrom(ClassDecl->getLocation(), in FindBaseInitializer()
3729 SemaRef.Context.getTypeDeclType(ClassDecl), in FindBaseInitializer()
4254 static Expr *CastForMoving(Sema &SemaRef, Expr *E, QualType T = QualType()) { in CastForMoving() argument
4256 QualType TargetType = SemaRef.BuildReferenceType( in CastForMoving()
4259 TypeSourceInfo *TargetLoc = SemaRef.Context.getTrivialTypeSourceInfo( in CastForMoving()
4262 return SemaRef.BuildCXXNamedCast(ExprLoc, tok::kw_static_cast, TargetLoc, E, in CastForMoving()
4277 BuildImplicitBaseInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitBaseInitializer() argument
4283 = InitializedEntity::InitializeBase(SemaRef.Context, BaseSpec, in BuildImplicitBaseInitializer()
4293 InitializationSequence InitSeq(SemaRef, InitEntity, InitKind, None); in BuildImplicitBaseInitializer()
4294 BaseInit = InitSeq.Perform(SemaRef, InitEntity, InitKind, None); in BuildImplicitBaseInitializer()
4305 DeclRefExpr::Create(SemaRef.Context, NestedNameSpecifierLoc(), in BuildImplicitBaseInitializer()
4310 SemaRef.MarkDeclRefReferenced(cast<DeclRefExpr>(CopyCtorArg)); in BuildImplicitBaseInitializer()
4314 SemaRef.Context.getQualifiedType(BaseSpec->getType().getUnqualifiedType(), in BuildImplicitBaseInitializer()
4318 CopyCtorArg = CastForMoving(SemaRef, CopyCtorArg); in BuildImplicitBaseInitializer()
4323 CopyCtorArg = SemaRef.ImpCastExprToType(CopyCtorArg, ArgTy, in BuildImplicitBaseInitializer()
4331 InitializationSequence InitSeq(SemaRef, InitEntity, InitKind, CopyCtorArg); in BuildImplicitBaseInitializer()
4332 BaseInit = InitSeq.Perform(SemaRef, InitEntity, InitKind, CopyCtorArg); in BuildImplicitBaseInitializer()
4337 BaseInit = SemaRef.MaybeCreateExprWithCleanups(BaseInit); in BuildImplicitBaseInitializer()
4342 new (SemaRef.Context) CXXCtorInitializer(SemaRef.Context, in BuildImplicitBaseInitializer()
4343 SemaRef.Context.getTrivialTypeSourceInfo(BaseSpec->getType(), in BuildImplicitBaseInitializer()
4360 BuildImplicitMemberInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitMemberInitializer() argument
4375 if (Field->isZeroLengthBitField(SemaRef.Context)) in BuildImplicitMemberInitializer()
4379 DeclRefExpr::Create(SemaRef.Context, NestedNameSpecifierLoc(), in BuildImplicitMemberInitializer()
4383 SemaRef.MarkDeclRefReferenced(cast<DeclRefExpr>(MemberExprBase)); in BuildImplicitMemberInitializer()
4386 MemberExprBase = CastForMoving(SemaRef, MemberExprBase); in BuildImplicitMemberInitializer()
4391 LookupResult MemberLookup(SemaRef, Field->getDeclName(), Loc, in BuildImplicitMemberInitializer()
4397 = SemaRef.BuildMemberReferenceExpr(MemberExprBase, in BuildImplicitMemberInitializer()
4413 CtorArg = CastForMoving(SemaRef, CtorArg.get()); in BuildImplicitMemberInitializer()
4427 InitializationSequence InitSeq(SemaRef, Entity, InitKind, CtorArgE); in BuildImplicitMemberInitializer()
4429 InitSeq.Perform(SemaRef, Entity, InitKind, MultiExprArg(&CtorArgE, 1)); in BuildImplicitMemberInitializer()
4430 MemberInit = SemaRef.MaybeCreateExprWithCleanups(MemberInit); in BuildImplicitMemberInitializer()
4435 CXXMemberInit = new (SemaRef.Context) CXXCtorInitializer( in BuildImplicitMemberInitializer()
4436 SemaRef.Context, Indirect, Loc, Loc, MemberInit.getAs<Expr>(), Loc); in BuildImplicitMemberInitializer()
4438 CXXMemberInit = new (SemaRef.Context) CXXCtorInitializer( in BuildImplicitMemberInitializer()
4439 SemaRef.Context, Field, Loc, Loc, MemberInit.getAs<Expr>(), Loc); in BuildImplicitMemberInitializer()
4447 SemaRef.Context.getBaseElementType(Field->getType()); in BuildImplicitMemberInitializer()
4458 InitializationSequence InitSeq(SemaRef, InitEntity, InitKind, None); in BuildImplicitMemberInitializer()
4460 InitSeq.Perform(SemaRef, InitEntity, InitKind, None); in BuildImplicitMemberInitializer()
4462 MemberInit = SemaRef.MaybeCreateExprWithCleanups(MemberInit); in BuildImplicitMemberInitializer()
4467 CXXMemberInit = new (SemaRef.Context) CXXCtorInitializer(SemaRef.Context, in BuildImplicitMemberInitializer()
4473 CXXMemberInit = new (SemaRef.Context) CXXCtorInitializer(SemaRef.Context, in BuildImplicitMemberInitializer()
4482 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
4485 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
4487 SemaRef.Diag(Field->getLocation(), diag::note_declared_at); in BuildImplicitMemberInitializer()
4492 SemaRef.Diag(Constructor->getLocation(), in BuildImplicitMemberInitializer()
4495 << SemaRef.Context.getTagDeclType(Constructor->getParent()) in BuildImplicitMemberInitializer()
4497 SemaRef.Diag(Field->getLocation(), diag::note_declared_at); in BuildImplicitMemberInitializer()
4506 = new (SemaRef.Context) CXXCtorInitializer(SemaRef.Context, Field, in BuildImplicitMemberInitializer()
4508 new (SemaRef.Context) ImplicitValueInitExpr(Field->getType()), in BuildImplicitMemberInitializer()
4624 static bool CollectFieldInitializer(Sema &SemaRef, BaseAndFieldInfo &Info, in CollectFieldInitializer() argument
4652 SemaRef.BuildCXXDefaultInitExpr(Info.Ctor->getLocation(), Field); in CollectFieldInitializer()
4657 SemaRef.checkInitializerLifetime(Entity, DIE.get()); in CollectFieldInitializer()
4661 Init = new (SemaRef.Context) in CollectFieldInitializer()
4662 CXXCtorInitializer(SemaRef.Context, Indirect, SourceLocation(), in CollectFieldInitializer()
4665 Init = new (SemaRef.Context) in CollectFieldInitializer()
4666 CXXCtorInitializer(SemaRef.Context, Field, SourceLocation(), in CollectFieldInitializer()
4672 if (isIncompleteOrZeroLengthArrayType(SemaRef.Context, Field->getType())) in CollectFieldInitializer()
4915 Sema &SemaRef, const CXXConstructorDecl *Constructor, in DiagnoseBaseOrMemInitializerOrder() argument
4925 if (!SemaRef.Diags.isIgnored(diag::warn_initializer_out_of_order, in DiagnoseBaseOrMemInitializerOrder()
4943 IdealInitKeys.push_back(GetKeyForBase(SemaRef.Context, VBase.getType())); in DiagnoseBaseOrMemInitializerOrder()
4949 IdealInitKeys.push_back(GetKeyForBase(SemaRef.Context, Base.getType())); in DiagnoseBaseOrMemInitializerOrder()
4966 const void *InitKey = GetKeyForMember(SemaRef.Context, Init); in DiagnoseBaseOrMemInitializerOrder()
4979 SemaRef.Diag(PrevInit->getSourceLocation(), in DiagnoseBaseOrMemInitializerOrder()
13130 CheckOperatorNewDeleteDeclarationScope(Sema &SemaRef, in CheckOperatorNewDeleteDeclarationScope() argument
13134 return SemaRef.Diag(FnDecl->getLocation(), in CheckOperatorNewDeleteDeclarationScope()
13141 return SemaRef.Diag(FnDecl->getLocation(), in CheckOperatorNewDeleteDeclarationScope()
13150 RemoveAddressSpaceFromPtr(Sema &SemaRef, const PointerType *PtrTy) { in RemoveAddressSpaceFromPtr() argument
13152 QTy = SemaRef.Context.removeAddrSpaceQualType(QTy); in RemoveAddressSpaceFromPtr()
13153 return SemaRef.Context.getPointerType(QTy); in RemoveAddressSpaceFromPtr()
13157 CheckOperatorNewDeleteTypes(Sema &SemaRef, const FunctionDecl *FnDecl, in CheckOperatorNewDeleteTypes() argument
13167 return SemaRef.Diag(FnDecl->getLocation(), in CheckOperatorNewDeleteTypes()
13172 if (SemaRef.getLangOpts().OpenCLCPlusPlus) { in CheckOperatorNewDeleteTypes()
13174 ResultType = RemoveAddressSpaceFromPtr(SemaRef, PtrTy); in CheckOperatorNewDeleteTypes()
13179 if (SemaRef.Context.getCanonicalType(ResultType) != ExpectedResultType) in CheckOperatorNewDeleteTypes()
13180 return SemaRef.Diag(FnDecl->getLocation(), in CheckOperatorNewDeleteTypes()
13186 return SemaRef.Diag(FnDecl->getLocation(), in CheckOperatorNewDeleteTypes()
13192 return SemaRef.Diag(FnDecl->getLocation(), in CheckOperatorNewDeleteTypes()
13199 return SemaRef.Diag(FnDecl->getLocation(), DependentParamTypeDiag) in CheckOperatorNewDeleteTypes()
13203 if (SemaRef.getLangOpts().OpenCLCPlusPlus) { in CheckOperatorNewDeleteTypes()
13207 FirstParamType = RemoveAddressSpaceFromPtr(SemaRef, PtrTy); in CheckOperatorNewDeleteTypes()
13210 if (SemaRef.Context.getCanonicalType(FirstParamType).getUnqualifiedType() != in CheckOperatorNewDeleteTypes()
13212 return SemaRef.Diag(FnDecl->getLocation(), InvalidParamTypeDiag) in CheckOperatorNewDeleteTypes()
13219 CheckOperatorNewDeclaration(Sema &SemaRef, const FunctionDecl *FnDecl) { in CheckOperatorNewDeclaration() argument
13224 if (CheckOperatorNewDeleteDeclarationScope(SemaRef, FnDecl)) in CheckOperatorNewDeclaration()
13228 SemaRef.Context.getCanonicalType(SemaRef.Context.getSizeType()); in CheckOperatorNewDeclaration()
13233 if (CheckOperatorNewDeleteTypes(SemaRef, FnDecl, SemaRef.Context.VoidPtrTy, in CheckOperatorNewDeclaration()
13242 return SemaRef.Diag(FnDecl->getLocation(), in CheckOperatorNewDeclaration()
13250 CheckOperatorDeleteDeclaration(Sema &SemaRef, FunctionDecl *FnDecl) { in CheckOperatorDeleteDeclaration() argument
13255 if (CheckOperatorNewDeleteDeclarationScope(SemaRef, FnDecl)) in CheckOperatorDeleteDeclaration()
13266 ? SemaRef.Context.getCanonicalType(SemaRef.Context.getPointerType( in CheckOperatorDeleteDeclaration()
13267 SemaRef.Context.getRecordType(MD->getParent()))) in CheckOperatorDeleteDeclaration()
13268 : SemaRef.Context.VoidPtrTy; in CheckOperatorDeleteDeclaration()
13273 SemaRef, FnDecl, SemaRef.Context.VoidTy, ExpectedFirstParamType, in CheckOperatorDeleteDeclaration()
13282 !SemaRef.isUsualDeallocationFunction(MD)) { in CheckOperatorDeleteDeclaration()
13283 SemaRef.Diag(MD->getLocation(), in CheckOperatorDeleteDeclaration()
13429 checkLiteralOperatorTemplateParameterList(Sema &SemaRef, in checkLiteralOperatorTemplateParameterList() argument
13440 SemaRef.Context.hasSameType(PmDecl->getType(), SemaRef.Context.CharTy)) in checkLiteralOperatorTemplateParameterList()
13457 if (!SemaRef.inTemplateInstantiation()) in checkLiteralOperatorTemplateParameterList()
13458 SemaRef.Diag(TpDecl->getLocation(), in checkLiteralOperatorTemplateParameterList()
13465 SemaRef.Diag(TpDecl->getTemplateParameters()->getSourceRange().getBegin(), in checkLiteralOperatorTemplateParameterList()