Hi,

I'm pretty sure that we should accept this. Tested x86_64-linux.

Thanks,
Paolo.

////////////////////
/cp
2014-12-01  Paolo Carlini  <paolo.carl...@oracle.com>

        PR c++/60859
        * decl.c (reshape_init_r): Do not reject value-initialization of
        scalar array element.

/testsuite
2014-12-01  Paolo Carlini  <paolo.carl...@oracle.com>

        PR c++/60859
        * g++.dg/cpp0x/initlist88.C: New.
Index: cp/decl.c
===================================================================
--- cp/decl.c   (revision 218217)
+++ cp/decl.c   (working copy)
@@ -5511,9 +5511,15 @@ reshape_init_r (tree type, reshape_iter *d, bool f
        {
          if (SCALAR_TYPE_P (type))
            {
-             if (complain & tf_error)
-               error ("braces around scalar initializer for type %qT", type);
-             init = error_mark_node;
+             if (cxx_dialect < cxx11
+                 /* Isn't value-initialization.  */
+                 || CONSTRUCTOR_NELTS (init) > 0)
+               {
+                 if (complain & tf_error)
+                   error ("braces around scalar initializer for type %qT",
+                          type);
+                 init = error_mark_node;
+               }
            }
          else
            maybe_warn_cpp0x (CPP0X_INITIALIZER_LISTS);
Index: testsuite/g++.dg/cpp0x/initlist88.C
===================================================================
--- testsuite/g++.dg/cpp0x/initlist88.C (revision 0)
+++ testsuite/g++.dg/cpp0x/initlist88.C (working copy)
@@ -0,0 +1,4 @@
+// PR c++/60859
+// { dg-do compile { target c++11 } }
+
+int a[] = { {} };

Reply via email to