aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/varasm.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 48d6bdd..5454f67 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-10-26 Jason Merrill <jason@redhat.com>
+
+ * varasm.c (constructor_static_from_elts_p): Don't require a
+ CONSTRUCTOR to have elements to be suitable for static
+ initialization. Allow ARRAY_TYPE as well.
+
2010-10-26 Jan Hubicka <jh@suse.cz>
PR middle-end/45736
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 03e25dd..20c4ffd 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -3901,8 +3901,8 @@ constructor_static_from_elts_p (const_tree ctor)
{
return (TREE_CONSTANT (ctor)
&& (TREE_CODE (TREE_TYPE (ctor)) == UNION_TYPE
- || TREE_CODE (TREE_TYPE (ctor)) == RECORD_TYPE)
- && !VEC_empty (constructor_elt, CONSTRUCTOR_ELTS (ctor)));
+ || TREE_CODE (TREE_TYPE (ctor)) == RECORD_TYPE
+ || TREE_CODE (TREE_TYPE (ctor)) == ARRAY_TYPE));
}
static tree initializer_constant_valid_p_1 (tree value, tree endtype,