aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Zadeck <zadeck@naturalbridge.com>2007-11-29 16:03:02 +0000
committerKenneth Zadeck <zadeck@naturalbridge.com>2007-11-29 16:03:02 +0000
commitdf2da9ea171c0f01f3cc30263a1c358ad4224cb9 (patch)
tree176f6d6835c88451576905cdf98ffc3acddc96fa
parentd6e96866cff8563e2efd0a0c9c7aaf2e8d343ffe (diff)
2007-11-29 Kenneth Zadeck <zadeck@naturalbridge.com>
* lto-function-out.c (output_expr_operand): Fix STRING_CST to always have type. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@130515 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.lto5
-rw-r--r--gcc/lto-function-out.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog.lto b/gcc/ChangeLog.lto
index e1ef781cb60..f3c8605958d 100644
--- a/gcc/ChangeLog.lto
+++ b/gcc/ChangeLog.lto
@@ -1,3 +1,8 @@
+2007-11-29 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * lto-function-out.c (output_expr_operand): Fix STRING_CST to
+ always have type.
+
2007-11-21 Nathan Froyd <froydnj@codesourcery.com>
* dwarf2out.c (gen_subprogram_die): Inhibit generation of labels
diff --git a/gcc/lto-function-out.c b/gcc/lto-function-out.c
index b5abb2d1b58..1ea4e6420cf 100644
--- a/gcc/lto-function-out.c
+++ b/gcc/lto-function-out.c
@@ -1287,6 +1287,12 @@ output_expr_operand (struct output_block *ob, tree expr)
case STRING_CST:
{
+ /* Most STRING_CSTs have a type when they get here. The ones
+ in the string operands of asms do not. Put something there
+ so that all STRING_CSTs can be handled uniformly. */
+ if (!TREE_TYPE (expr))
+ TREE_TYPE (expr) = void_type_node;
+
output_record_start (ob, expr, expr, LTO_string_cst);
output_string (ob, ob->main_stream,
TREE_STRING_POINTER (expr),