* call.c (convert_like_real): Don't check narrowing if the element
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 2010 15:48:01 +0000 (15:48 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 2010 15:48:01 +0000 (15:48 +0000)
is also an initializer-list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166005 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/call.c

index 3a7e754..7646dca 100644 (file)
@@ -1,3 +1,8 @@
+2010-10-27  Jason Merrill  <jason@redhat.com>
+
+       * call.c (convert_like_real): Don't check narrowing if the element
+       is also an initializer-list.
+
 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * parser.c (cp_parser_objc_at_property_declaration): Recognize
index 4b36ab0..1831718 100644 (file)
@@ -5115,7 +5115,8 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
                                          1, false, false, complain);
            if (sub == error_mark_node)
              return sub;
-           check_narrowing (TREE_TYPE (sub), val);
+           if (!BRACE_ENCLOSED_INITIALIZER_P (val))
+             check_narrowing (TREE_TYPE (sub), val);
            CONSTRUCTOR_APPEND_ELT (CONSTRUCTOR_ELTS (new_ctor), NULL_TREE, sub);
          }
        /* Build up the array.  */