From 246551974690175d93ce481e65ce2a26bdb37958 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Fri, 4 Dec 2009 14:44:24 +0000 Subject: [PATCH] lto-streamer-out.c (pack_ts_decl_common_value_fields): Revert previous change. 2009-12-04 Richard Guenther * 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. From-SVN: r154980 --- gcc/ChangeLog | 8 ++++++++ gcc/lto-streamer-in.c | 5 +++++ gcc/lto-streamer-out.c | 9 ++++++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6319ca92039..450d54d6274 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2009-12-04 Richard Guenther + + * 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 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 16ae9b83ee0..a0ead410fd0 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -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)); } diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 30d35c7e224..49877ff1a39 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -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); }