aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-10-08 15:21:29 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-10-08 15:21:29 +0000
commitbd39cb5225a1a8b3a7ac15ef7a50231205a64ff8 (patch)
treecd4458364349dd314a008566cb2ca44b9b869fc3 /gcc/expr.c
parent8686c474f718468adeaf5663f0ad4e0721ef2ab0 (diff)
downloadgcc-bd39cb5225a1a8b3a7ac15ef7a50231205a64ff8.zip
gcc-bd39cb5225a1a8b3a7ac15ef7a50231205a64ff8.tar.gz
gcc-bd39cb5225a1a8b3a7ac15ef7a50231205a64ff8.tar.bz2
lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers): Re-construct BLOCK_VARS.
2010-10-08 Richard Guenther <rguenther@suse.de> * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers): Re-construct BLOCK_VARS. (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS. * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise. * tree.c (free_lang_data_in_block): Remove. (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs. Do not touch the BLOCK tree. * expr.c (expand_expr_real_1): Allow externals. From-SVN: r165191
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 51483f9..291b79f 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -8448,6 +8448,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
gcc_assert (!context
|| context == current_function_decl
|| TREE_STATIC (exp)
+ || DECL_EXTERNAL (exp)
/* ??? C++ creates functions that are not TREE_STATIC. */
|| TREE_CODE (exp) == FUNCTION_DECL);