From eaa9d009d8563f4224f58e982a962662d3b5ea06 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Mon, 10 May 2010 14:37:56 -0400 Subject: re PR c++/44045 (initialization of array of shared_ptr's with initializer list causes compiler segfault) PR c++/44045 * typeck.c (cp_build_modify_expr): Complain about assignment to array from init list. From-SVN: r159243 --- gcc/cp/typeck.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gcc/cp/typeck.c') diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 61d5f22..5c8fd826 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -6634,6 +6634,12 @@ cp_build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs, if (BRACE_ENCLOSED_INITIALIZER_P (newrhs)) { + if (modifycode != INIT_EXPR) + { + if (complain & tf_error) + error ("assigning to an array from an initializer list"); + return error_mark_node; + } if (check_array_initializer (lhs, lhstype, newrhs)) return error_mark_node; newrhs = digest_init (lhstype, newrhs); -- cgit v1.1