diff options
Diffstat (limited to 'lib/Sema/SemaInit.cpp')
-rw-r--r-- | lib/Sema/SemaInit.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp index 9458e3580c..1b47332c53 100644 --- a/lib/Sema/SemaInit.cpp +++ b/lib/Sema/SemaInit.cpp @@ -1429,6 +1429,11 @@ InitListChecker::CheckDesignatedInitializer(const InitializedEntity &Entity, } else if (!KnownField) { // Determine whether we found a field at all. ReplacementField = dyn_cast<FieldDecl>(*Lookup.first); + + // Check if ReplacementField is an anonymous field. + if (!ReplacementField) + if (IndirectFieldDecl* IField = dyn_cast<IndirectFieldDecl>(*Lookup.first)) + ReplacementField = IField->getAnonField(); } if (!ReplacementField) { |