aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-01-16 16:13:16 +0000
committerDouglas Gregor <dgregor@apple.com>2011-01-16 16:13:16 +0000
commit2d75bbd36e273f7b958aefc766424220ad158bd9 (patch)
tree0583a6d8f5f00cbaf30b347df96df18be0aba8f1 /lib/Sema/SemaInit.cpp
parent9da95e6eefc4b0ca25e18bdab1b703f5c185deab (diff)
Emit an extension diagnostic for C99 designated initializers that appear in C++ code
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123582 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaInit.cpp')
-rw-r--r--lib/Sema/SemaInit.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp
index e453b0a4ed..23b061dd4c 100644
--- a/lib/Sema/SemaInit.cpp
+++ b/lib/Sema/SemaInit.cpp
@@ -1913,6 +1913,11 @@ ExprResult Sema::ActOnDesignatedInitializer(Designation &Desig,
Designators.data(), Designators.size(),
InitExpressions.data(), InitExpressions.size(),
Loc, GNUSyntax, Init.takeAs<Expr>());
+
+ if (getLangOptions().CPlusPlus)
+ Diag(DIE->getLocStart(), diag::ext_designated_init)
+ << DIE->getSourceRange();
+
return Owned(DIE);
}