[cfe-commits] r130117 - in /cfe/trunk: lib/Sema/SemaInit.cpp test/Sema/c89.c
Eli Friedman
eli.friedman at gmail.com
Sun Apr 24 15:14:23 PDT 2011
Author: efriedma
Date: Sun Apr 24 17:14:22 2011
New Revision: 130117
URL: http://llvm.org/viewvc/llvm-project?rev=130117&view=rev
Log:
PR4304: Add warning for designators in strict c89 mode.
Modified:
cfe/trunk/lib/Sema/SemaInit.cpp
cfe/trunk/test/Sema/c89.c
Modified: cfe/trunk/lib/Sema/SemaInit.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaInit.cpp?rev=130117&r1=130116&r2=130117&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaInit.cpp (original)
+++ cfe/trunk/lib/Sema/SemaInit.cpp Sun Apr 24 17:14:22 2011
@@ -1976,6 +1976,9 @@
Loc, GNUSyntax, Init.takeAs<Expr>());
if (getLangOptions().CPlusPlus)
+ Diag(DIE->getLocStart(), diag::ext_designated_init_cxx)
+ << DIE->getSourceRange();
+ else if (!getLangOptions().C99)
Diag(DIE->getLocStart(), diag::ext_designated_init)
<< DIE->getSourceRange();
Modified: cfe/trunk/test/Sema/c89.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/c89.c?rev=130117&r1=130116&r2=130117&view=diff
==============================================================================
--- cfe/trunk/test/Sema/c89.c (original)
+++ cfe/trunk/test/Sema/c89.c Sun Apr 24 17:14:22 2011
@@ -80,3 +80,5 @@
/* Make sure we allow *test14 as a "function designator" */
int test14() { return (&*test14)(); }
+
+int test15[5] = { [2] = 1 }; /* expected-warning {{designated initializers are a C99 feature}} */
More information about the cfe-commits
mailing list