aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/lto-streamer-out.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f902436..893100c8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-07-24 Jan Hubicka <hubicka@ucw.cz>
+ * lto-streamer-out.c (tree_is_indexable): Consider IMPORTED_DECL
+ as non-indexable.
+
+2014-07-24 Jan Hubicka <hubicka@ucw.cz>
+
PR lto/61802
* varasm.c (bss_initializer_p): Handle offlined ctors.
(align_variable, get_variable_align): Likewise.
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 75332f9..355ceea 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -139,6 +139,9 @@ tree_is_indexable (tree t)
definition. */
if (TREE_CODE (t) == PARM_DECL || TREE_CODE (t) == RESULT_DECL)
return variably_modified_type_p (TREE_TYPE (DECL_CONTEXT (t)), NULL_TREE);
+ /* IMPORTED_DECL is put into BLOCK and thus it never can be shared. */
+ else if (TREE_CODE (t) == IMPORTED_DECL)
+ return false;
else if (((TREE_CODE (t) == VAR_DECL && !TREE_STATIC (t))
|| TREE_CODE (t) == TYPE_DECL
|| TREE_CODE (t) == CONST_DECL