Home | History | Annotate | Download | only in Sema

Lines Matching refs:SemaRef

238   Sema &SemaRef;
321 static ExprResult PerformEmptyInit(Sema &SemaRef,
376 ExprResult InitListChecker::PerformEmptyInit(Sema &SemaRef,
385 InitListExpr DummyInitList(SemaRef.Context, Loc, None, Loc);
391 bool EmptyInitList = SemaRef.getLangOpts().CPlusPlus11 &&
404 InitExpr = VerifyOnly ? &DummyInitList : new (SemaRef.Context)
405 InitListExpr(SemaRef.Context, Loc, None, Loc);
406 InitExpr->setType(SemaRef.Context.VoidTy);
414 InitializationSequence InitSeq(SemaRef, Entity, Kind, SubInit);
425 .BestViableFunction(SemaRef, Kind.getLocation(), Best);
433 SemaRef.SourceMgr.isInSystemHeader(CtorDecl->getLocation())) {
437 if (SemaRef.getStdNamespace()->InEnclosingNamespaceSetOf(ND))
448 SemaRef, Entity,
455 SemaRef.Diag(CtorDecl->getLocation(),
458 SemaRef.Diag(Entity.getDecl()->getLocation(),
461 SemaRef.Diag(Loc, diag::note_used_in_initialization_here);
468 InitSeq.Diagnose(SemaRef, Entity, Kind, SubInit);
470 SemaRef.Diag(Entity.getDecl()->getLocation(),
474 SemaRef.Diag(Loc, diag::note_in_omitted_aggregate_initializer)
481 : InitSeq.Perform(SemaRef, Entity, Kind, SubInit);
488 if (PerformEmptyInit(SemaRef, Loc, Entity, /*VerifyOnly*/true,
500 SemaRef.Context, &Base, false, &ParentEntity);
504 FillWithNoInit ? new (SemaRef.Context) NoInitExpr(Base.getType())
505 : PerformEmptyInit(SemaRef, ILE->getLocEnd(), BaseEntity,
541 Expr *Filler = new (SemaRef.Context) NoInitExpr(Field->getType());
545 ILE->updateInit(SemaRef.Context, Init, Filler);
553 ExprResult DIE = SemaRef.BuildCXXDefaultInitExpr(Loc, Field);
561 ILE->updateInit(SemaRef.Context, Init, DIE.get());
572 SemaRef.Diag(Loc, diag::err_init_reference_member_uninitialized)
575 SemaRef.Diag(Field->getLocation(),
581 ExprResult MemberInit = PerformEmptyInit(SemaRef, Loc, MemberEntity,
598 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>());
619 assert((ILE->getType() != SemaRef.Context.VoidTy) &&
644 ILE->resizeInits(SemaRef.Context, NumElems);
687 if (const ArrayType *AType = SemaRef.Context.getAsArrayType(ILE->getType())) {
691 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context,
696 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context,
716 Filler = new (SemaRef.Context) NoInitExpr(ElementType);
718 ExprResult ElementInit = PerformEmptyInit(SemaRef, ILE->getLocEnd(),
752 ILE->updateInit(SemaRef.Context, Init, Filler);
771 : SemaRef(S), VerifyOnly(VerifyOnly),
796 SemaRef.Context.getAsConstantArrayType(DeclType)) {
840 SemaRef.Diag(ParentIList->getInit(Index)->getLocStart(),
877 SemaRef.Diag(StructuredSubobjectInitList->getLocStart(),
883 SemaRef.getLocForEndOfToken(
971 ExprTy = ExprTy.getNonLValueExprType(SemaRef.Context);
981 if (SemaRef.getLangOpts().CPlusPlus ||
982 (SemaRef.getLangOpts().OpenCL &&
990 IsStringInit(StructuredList->getInit(0), T, SemaRef.Context) ==
993 if (SemaRef.getLangOpts().CPlusPlus) {
998 SemaRef.Diag(IList->getInit(Index)->getLocStart(), DK)
1012 if (SemaRef.getLangOpts().CPlusPlus) {
1016 if (SemaRef.getLangOpts().OpenCL && initKind == 1) {
1021 SemaRef.Diag(IList->getInit(Index)->getLocStart(), DK)
1028 warnBracedScalarInit(SemaRef, Entity, IList->getSourceRange());
1064 SemaRef.Context.getTypeSize(SemaRef.Context.getSizeType()),
1073 SemaRef.Diag(IList->getLocStart(), diag::err_illegal_initializer_type)
1081 SemaRef.Diag(IList->getLocStart(), diag::err_init_objc_class)
1086 SemaRef.Diag(IList->getLocStart(), diag::err_illegal_initializer_type)
1106 IsStringInit(SubInitList->getInit(0), ElemType, SemaRef.Context) ==
1109 } else if (!SemaRef.getLangOpts().CPlusPlus) {
1133 assert(SemaRef.Context.hasSameType(expr->getType(), ElemType) &&
1141 if (SemaRef.getLangOpts().CPlusPlus) {
1149 InitializationSequence Seq(SemaRef, Entity, Kind, expr,
1161 SemaRef, Entity, Kind, expr);
1179 SemaRef.Context.getAsArrayType(ElemType)) {
1184 if (IsStringInit(expr, arrayType, SemaRef.Context) == SIF_None) {
1186 CheckStringInit(expr, ElemType, arrayType, SemaRef);
1208 if (SemaRef.CheckSingleAssignmentConstraints(
1213 ExprRes = SemaRef.DefaultFunctionArrayLvalueConversion(ExprRes.get());
1232 if (!SemaRef.getLangOpts().OpenCL &&
1241 SemaRef.PerformCopyInitialization(Entity, SourceLocation(), expr,
1270 if (!SemaRef.getLangOpts().CPlusPlus && !VerifyOnly)
1271 SemaRef.Diag(IList->getLocStart(), diag::ext_complex_component_init)
1277 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1293 SemaRef.Diag(IList->getLocStart(),
1294 SemaRef.getLangOpts().CPlusPlus11 ?
1298 hadError = !SemaRef.getLangOpts().CPlusPlus11;
1309 SemaRef.Diag(SubIList->getLocStart(),
1318 SemaRef.Diag(expr->getLocStart(),
1328 if (!SemaRef.CanPerformCopyInitialization(Entity,expr))
1335 SemaRef.PerformCopyInitialization(Entity, expr->getLocStart(), expr,
1368 SemaRef.Diag(IList->getLocStart(),
1379 if (isa<InitListExpr>(expr) && !SemaRef.getLangOpts().CPlusPlus11) {
1381 SemaRef.Diag(IList->getLocStart(), diag::err_init_non_aggr_init_list)
1390 if (!SemaRef.CanPerformCopyInitialization(Entity,expr))
1397 SemaRef.PerformCopyInitialization(Entity, expr->getLocStart(), expr,
1427 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity),
1432 if (!SemaRef.getLangOpts().OpenCL) {
1438 if (!SemaRef.CanPerformCopyInitialization(Entity, Init))
1445 SemaRef.PerformCopyInitialization(Entity, Init->getLocStart(), Init,
1469 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1487 bool isBigEndian = SemaRef.Context.getTargetInfo().isBigEndian();
1501 SemaRef.Diag(IList->getLocStart(),
1505 unsigned typeSize = SemaRef.Context.getTypeSize(elementType);
1516 SemaRef.Diag(IList->getLocStart(),
1517 SemaRef.Context.getTypeSize(VT) > 64 ?
1527 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1548 VecType = SemaRef.Context.getExtVectorType(elementType, numIElts);
1550 VecType = SemaRef.Context.getVectorType(elementType, numIElts,
1561 SemaRef.Diag(IList->getLocStart(),
1575 const ArrayType *arrayType = SemaRef.Context.getAsArrayType(DeclType);
1579 if (IsStringInit(IList->getInit(Index), arrayType, SemaRef.Context) ==
1587 CheckStringInit(IList->getInit(Index), DeclType, arrayType, SemaRef);
1590 StructuredList->resizeInits(SemaRef.Context, StructuredIndex);
1601 SemaRef.Diag(VAT->getSizeExpr()->getLocStart(),
1661 InitializedEntity::InitializeElement(SemaRef.Context, StructuredIndex,
1680 SemaRef.Diag(IList->getLocStart(),
1684 DeclType = SemaRef.Context.getConstantArrayType(elementType, maxElements,
1693 SemaRef.Context, 0, Entity),
1708 } else if (SemaRef.getLangOpts().CPlusPlus) {
1727 SemaRef.Diag(InitExpr->getLocStart(),
1730 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member)
1801 SemaRef.Context, &Base, false, &Entity);
1866 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid);
1868 InvalidUse = SemaRef.DiagnoseUseOfDecl(*Field,
1900 SemaRef.Diag(IList->getSourceRange().getEnd(),
1945 static void ExpandAnonymousFieldDesignator(Sema &SemaRef,
1969 DIE->ExpandDesignator(SemaRef.Context, DesigIdx, &Replacements[0],
1973 static DesignatedInitExpr *CloneDesignatedInitExpr(Sema &SemaRef,
1979 return DesignatedInitExpr::Create(SemaRef.Context, DIE->designators(),
2105 new (SemaRef.Context) DesignatedInitUpdateExpr(SemaRef.Context,
2108 StructuredList->updateInit(SemaRef.Context, StructuredIndex, DIUE);
2132 SemaRef.Diag(D->getLocStart(),
2136 SemaRef.Diag(ExistingInit->getLocStart(),
2162 SemaRef.Diag(Loc, diag::err_field_designator_non_aggr)
2163 << SemaRef.getLangOpts().CPlusPlus << CurrentObjectType;
2180 DIE = CloneDesignatedInitExpr(SemaRef, DIE);
2181 ExpandAnonymousFieldDesignator(SemaRef, DIE, DesigIdx, IFD);
2195 SemaRef.Diag(D->getFieldLoc(), diag::err_field_designator_nonfield)
2197 SemaRef.Diag(Lookup.front()->getLocation(),
2205 if (TypoCorrection Corrected = SemaRef.CorrectTypo(
2210 SemaRef.diagnoseTypo(
2212 SemaRef.PDiag(diag::err_field_designator_unknown_suggest)
2218 SemaRef.Diag(D->getFieldLoc(), diag::err_field_designator_unknown)
2251 SemaRef.Diag(D->getFieldLoc(),
2255 SemaRef.Diag(ExistingInit->getLocStart(),
2261 StructuredList->resizeInits(SemaRef.Context, 0);
2272 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid);
2274 InvalidUse = SemaRef.DiagnoseUseOfDecl(*Field, D->getFieldLoc());
2287 StructuredList->resizeInits(SemaRef.Context, FieldIndex + 1);
2299 SemaRef.Diag(NextD->getLocStart(),
2303 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member)
2313 SemaRef.Diag(DIE->getInit()->getLocStart(),
2316 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member)
2413 const ArrayType *AT = SemaRef.Context.getAsArrayType(CurrentObjectType);
2416 SemaRef.Diag(D->getLBracketLoc(), diag::err_array_designator_non_array)
2426 DesignatedStartIndex = IndexExpr->EvaluateKnownConstInt(SemaRef.Context);
2432 DIE->getArrayRangeStart(*D)->EvaluateKnownConstInt(SemaRef.Context);
2434 DIE->getArrayRangeEnd(*D)->EvaluateKnownConstInt(SemaRef.Context);
2443 DIE->getInit()->HasSideEffects(SemaRef.Context) && !VerifyOnly)
2457 SemaRef.Diag(IndexExpr->getLocStart(),
2466 ConstantArrayType::getMaxSizeBits(SemaRef.Context);
2478 ASTContext &Context = SemaRef.Context;
2537 StructuredList->resizeInits(SemaRef.Context,
2548 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
2629 SemaRef.Diag(InitRange.getBegin(),
2632 SemaRef.Diag(ExistingInit->getLocStart(),
2639 = new (SemaRef.Context) InitListExpr(SemaRef.Context,
2645 ResultType = ResultType.getNonLValueExprType(SemaRef.Context);
2663 = SemaRef.Context.getAsArrayType(CurrentObjectType)) {
2681 Result->reserveInits(SemaRef.Context, NumElements);
2686 StructuredList->updateInit(SemaRef.Context, StructuredIndex, Result);
2704 if (Expr *PrevInit = StructuredList->updateInit(SemaRef.Context,
2714 SemaRef.Diag(expr->getLocStart(),
2718 SemaRef.Diag(PrevInit->getLocStart(),