typeck2.c (digest_init_r): Don't condition the object slicing warning on flag_checking.
authorMarek Polacek <polacek@redhat.com>
Mon, 8 Apr 2019 19:31:00 +0000 (19:31 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Mon, 8 Apr 2019 19:31:00 +0000 (19:31 +0000)
* typeck2.c (digest_init_r): Don't condition the object slicing warning
on flag_checking.

From-SVN: r270215

gcc/cp/ChangeLog
gcc/cp/typeck2.c

index 74e2b7d95c63b36aa6c0bb2397eb3da5bfbc3b22..9df42489a4e87b9f6451ff6edfc459b0e7644795 100644 (file)
@@ -1,3 +1,8 @@
+2019-04-08  Marek Polacek  <polacek@redhat.com>
+
+       * typeck2.c (digest_init_r): Don't condition the object slicing warning
+       on flag_checking.
+
 2019-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR c++/89914
index fa98b1cb8b5595a4fd34a438197493996d9eb917..55b84f043f467af787b1f2063b095313e470e7c4 100644 (file)
@@ -1200,8 +1200,7 @@ digest_init_r (tree type, tree init, int nested, int flags,
   /* "If T is a class type and the initializer list has a single
      element of type cv U, where U is T or a class derived from T,
      the object is initialized from that element."  */
-  if (flag_checking
-      && cxx_dialect >= cxx11
+  if (cxx_dialect >= cxx11
       && BRACE_ENCLOSED_INITIALIZER_P (stripped_init)
       && CONSTRUCTOR_NELTS (stripped_init) == 1
       && ((CLASS_TYPE_P (type) && !CLASSTYPE_NON_AGGREGATE (type))
@@ -1228,7 +1227,7 @@ digest_init_r (tree type, tree init, int nested, int flags,
                              "results in object slicing", TREE_TYPE (field)))
                inform (loc, "remove %<{ }%> around initializer");
            }
-         else
+         else if (flag_checking)
            /* We should have fixed this in reshape_init.  */
            gcc_unreachable ();
        }