diff options
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r-- | clang/lib/Sema/SemaInit.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp index 0dd040faff0..db811456e2e 100644 --- a/clang/lib/Sema/SemaInit.cpp +++ b/clang/lib/Sema/SemaInit.cpp @@ -391,6 +391,9 @@ void InitListChecker::FillInValueInitForField(unsigned Init, FieldDecl *Field, InitializationSequence InitSeq(SemaRef, MemberEntity, Kind, None); if (!InitSeq) { InitSeq.Diagnose(SemaRef, MemberEntity, Kind, None); + SemaRef.Diag(Field->getLocation(), + diag::note_in_omitted_aggregate_initializer) + << /*field*/1 << Field; hadError = true; return; } @@ -505,11 +508,8 @@ InitListChecker::FillInValueInitializations(const InitializedEntity &Entity, InitializationSequence InitSeq(SemaRef, ElementEntity, Kind, None); if (!InitSeq) { InitSeq.Diagnose(SemaRef, ElementEntity, Kind, None); - if (NumInits < NumElements && - InitSeq.getFailureKind() == - InitializationSequence::FK_ConstructorOverloadFailed && - InitSeq.getFailedOverloadResult() == OverloadingResult::OR_Deleted) - SemaRef.Diag(Loc, diag::note_omitted_element_default_constructed); + SemaRef.Diag(Loc, diag::note_in_omitted_aggregate_initializer) + << /*array element*/0 << Init; hadError = true; return; } |