aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/varasm.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 58e4658..8916d78 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * varasm.c (output_constant_def_contents): Use for the length of a
+ string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
+ depending on which is larger.
+
2001-07-16 Daniel Berlin <dan@cgsoftware.com>
* gcse.c: Include df.h for use as a dataflow analyzer.
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 82ad792..bb723c8 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -3116,7 +3116,8 @@ output_constant_def_contents (exp, reloc, labelno)
/* Output the value of EXP. */
output_constant (exp,
(TREE_CODE (exp) == STRING_CST
- ? TREE_STRING_LENGTH (exp)
+ ? MAX (TREE_STRING_LENGTH (exp),
+ int_size_in_bytes (TREE_TYPE (exp)))
: int_size_in_bytes (TREE_TYPE (exp))));
}