aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2010-10-27 11:48:01 -0400
committerJason Merrill <jason@gcc.gnu.org>2010-10-27 11:48:01 -0400
commitbc8a0bd9fc9bc846333b2a50072558ce9b623af7 (patch)
treeada0be5bc675b6376ac5cfc7e565008290f72ca9 /gcc
parent221925596f5c3422e705713567d5a480f07e5585 (diff)
downloadgcc-bc8a0bd9fc9bc846333b2a50072558ce9b623af7.zip
gcc-bc8a0bd9fc9bc846333b2a50072558ce9b623af7.tar.gz
gcc-bc8a0bd9fc9bc846333b2a50072558ce9b623af7.tar.bz2
call.c (convert_like_real): Don't check narrowing if the element is also an initializer-list.
* call.c (convert_like_real): Don't check narrowing if the element is also an initializer-list. From-SVN: r166005
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/call.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3a7e754..7646dca 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 4b36ab0..1831718 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -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. */