diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2010-08-14 03:14:53 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2010-08-14 03:14:53 +0000 |
commit | 09865a903affa9c08687859d8de65470064c7bc2 (patch) | |
tree | 97d1a9f9a44fb640b91abc1e07de1e125334a966 /lib/Sema/SemaInit.cpp | |
parent | 23bc11ff1874f8875426c9a8a29fe1e6894c3503 (diff) |
PR3344: Downgrade "too many braces around scalar initializer" to a warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111067 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaInit.cpp')
-rw-r--r-- | lib/Sema/SemaInit.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp index ce96856f3f..e1fcab0c40 100644 --- a/lib/Sema/SemaInit.cpp +++ b/lib/Sema/SemaInit.cpp @@ -740,13 +740,13 @@ void InitListChecker::CheckScalarType(const InitializedEntity &Entity, unsigned &StructuredIndex) { if (Index < IList->getNumInits()) { Expr *expr = IList->getInit(Index); - if (isa<InitListExpr>(expr)) { - SemaRef.Diag(IList->getLocStart(), - diag::err_many_braces_around_scalar_init) - << IList->getSourceRange(); - hadError = true; - ++Index; - ++StructuredIndex; + if (InitListExpr *SubIList = dyn_cast<InitListExpr>(expr)) { + SemaRef.Diag(SubIList->getLocStart(), + diag::warn_many_braces_around_scalar_init) + << SubIList->getSourceRange(); + + CheckScalarType(Entity, SubIList, DeclType, Index, StructuredList, + StructuredIndex); return; } else if (isa<DesignatedInitExpr>(expr)) { SemaRef.Diag(expr->getSourceRange().getBegin(), |