diff options
author | DJ Delorie <dj@redhat.com> | 2001-09-24 16:27:06 -0400 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2001-09-24 16:27:06 -0400 |
commit | b6fc711089add2bbefb23eecea0eccb3423e9960 (patch) | |
tree | 41c27cab9cc39bce19417599b38fa7d6564585ed /gcc | |
parent | 1b47b7aebb9e9fa8b16a899e877cbd81c67b53db (diff) | |
download | gcc-b6fc711089add2bbefb23eecea0eccb3423e9960.zip gcc-b6fc711089add2bbefb23eecea0eccb3423e9960.tar.gz gcc-b6fc711089add2bbefb23eecea0eccb3423e9960.tar.bz2 |
* varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
From-SVN: r45785
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/varasm.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 64200d6..b5c4695 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/varasm.c b/gcc/varasm.c index 9230fcf..68c5165 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -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)) { |