* varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
authorDJ Delorie <dj@redhat.com>
Mon, 24 Sep 2001 20:27:06 +0000 (16:27 -0400)
committerDJ Delorie <dj@gcc.gnu.org>
Mon, 24 Sep 2001 20:27:06 +0000 (16:27 -0400)
From-SVN: r45785

gcc/ChangeLog
gcc/varasm.c

index 64200d65d7461519d33b8a52906ffb3c138895bc..b5c46950ebd32ebff946710dd0049c40c6e4acde 100644 (file)
@@ -1,3 +1,7 @@
+2001-09-24  DJ Delorie  <dj@redhat.com>
+
+       * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
+
 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
 
        * flow.c (delete_dead_jumptables): Delete jumptable if the only
index 9230fcf173b0a5666948ffe8dca844232f41fbda..68c51655c360b60ab354dbd5df1420c397da5083 100644 (file)
@@ -4585,6 +4585,13 @@ array_size_for_constructor (val)
 {
   tree max_index, i;
 
+  if (TREE_CODE (val) == STRING_CST)
+    {
+      HOST_WIDE_INT len = TREE_STRING_LENGTH(val);
+      HOST_WIDE_INT esz = int_size_in_bytes (TREE_TYPE (TREE_TYPE (val)));
+      HOST_WIDE_INT tsz = len * esz;
+      return tsz;
+    }
   max_index = NULL_TREE;
   for (i = CONSTRUCTOR_ELTS (val); i ; i = TREE_CHAIN (i))
     {