[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