From 8e76c2bf138ad82a0b66a75a12e9529ced0930d8 Mon Sep 17 00:00:00 2001 From: Mark Shinwell Date: Wed, 18 Oct 2006 10:57:18 +0000 Subject: re PR c++/26884 (Misleading diagnostic for invalid array initializer) PR c++/26884 * typeck2.c (digest_init): Raise error upon attempts to initialize arrays with variables. From-SVN: r117854 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/typeck2.c | 9 +++++++++ 2 files changed, 15 insertions(+) (limited to 'gcc') diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2358e9b..356bc25 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2006-10-18 Mark Shinwell + + PR c++/26884 + * typeck2.c (digest_init): Raise error upon attempts to + initialize arrays with variables. + 2006-10-17 Lee Millward PR c++/27952 diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c index 12987cf..a3654c0 100644 --- a/gcc/cp/typeck2.c +++ b/gcc/cp/typeck2.c @@ -733,6 +733,15 @@ digest_init (tree type, tree init) return error_mark_node; } + + if (TREE_CODE (type) == ARRAY_TYPE + && TREE_CODE (init) != CONSTRUCTOR) + { + error ("array must be initialized with a brace-enclosed" + " initializer"); + return error_mark_node; + } + return convert_for_initialization (NULL_TREE, type, init, LOOKUP_NORMAL | LOOKUP_ONLYCONVERTING, "initialization", NULL_TREE, 0); -- cgit v1.1