2009-12-04 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Dec 2009 14:44:24 +0000 (14:44 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Dec 2009 14:44:24 +0000 (14:44 +0000)
* lto-streamer-out.c (pack_ts_decl_common_value_fields):
Revert previous change.
(lto_output_ts_decl_common_tree_pointers): Stream DECL_VALUE_EXPR.
* lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154980 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/lto-streamer-in.c
gcc/lto-streamer-out.c

index 6319ca9..450d54d 100644 (file)
@@ -1,5 +1,13 @@
 2009-12-04  Richard Guenther  <rguenther@suse.de>
 
+       * lto-streamer-out.c (pack_ts_decl_common_value_fields):
+       Revert previous change.
+       (lto_output_ts_decl_common_tree_pointers): Stream DECL_VALUE_EXPR.
+       * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
+       Likewise.
+
+2009-12-04  Richard Guenther  <rguenther@suse.de>
+
        * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
        BUILT_IN_MALLOC.
        (call_may_clobber_ref_p_1): Likewise.
index 16ae9b8..a0ead41 100644 (file)
@@ -2044,6 +2044,11 @@ lto_input_ts_decl_common_tree_pointers (struct lto_input_block *ib,
 
   if (TREE_CODE (expr) == PARM_DECL)
     TREE_CHAIN (expr) = lto_input_chain (ib, data_in);
+
+  if ((TREE_CODE (expr) == VAR_DECL
+       || TREE_CODE (expr) == PARM_DECL)
+      && DECL_HAS_VALUE_EXPR_P (expr))
+    SET_DECL_VALUE_EXPR (expr, lto_input_tree (ib, data_in));
 }
 
 
index 30d35c7..49877ff 100644 (file)
@@ -430,11 +430,9 @@ pack_ts_decl_common_value_fields (struct bitpack_d *bp, tree expr)
       || TREE_CODE (expr) == VAR_DECL)
     {
       bp_pack_value (bp, DECL_BY_REFERENCE (expr), 1);
-      /* DECL_HAS_VALUE_EXPR_P: Do not falsely pretend we have value
-         expressions, we do not stream those at the moment.  */
       if (TREE_CODE (expr) == VAR_DECL
          || TREE_CODE (expr) == PARM_DECL)
-       bp_pack_value (bp, false, 1);
+       bp_pack_value (bp, DECL_HAS_VALUE_EXPR_P (expr), 1);
       bp_pack_value (bp, DECL_RESTRICTED_P (expr), 1);
     }
 }
@@ -850,6 +848,11 @@ lto_output_ts_decl_common_tree_pointers (struct output_block *ob, tree expr,
 
   if (TREE_CODE (expr) == PARM_DECL)
     lto_output_chain (ob, TREE_CHAIN (expr), ref_p);
+
+  if ((TREE_CODE (expr) == VAR_DECL
+       || TREE_CODE (expr) == PARM_DECL)
+      && DECL_HAS_VALUE_EXPR_P (expr))
+    lto_output_tree_or_ref (ob, DECL_VALUE_EXPR (expr), ref_p);
 }