summaryrefslogtreecommitdiff
path: root/gcc/symtab.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-26 00:50:24 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-26 00:50:24 +0000
commit19b03318b42e3c447c9c9ea17736b7ef55d9cd0b (patch)
tree479e51b5873cfa549ada03f39d5f41cba52829c5 /gcc/symtab.c
parent6432f96e6055483e791c4a484b7de920989c58ba (diff)
downloadgcc-19b03318b42e3c447c9c9ea17736b7ef55d9cd0b.tar.gz
* symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag for variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210919 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r--gcc/symtab.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c
index 301f7e3bef8..8abb7a13b6d 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -1163,9 +1163,13 @@ symtab_nonoverwritable_alias (symtab_node *node)
(new_decl, node->decl);
}
else
- new_node = varpool_create_variable_alias (new_decl, node->decl);
+ {
+ TREE_READONLY (new_decl) = TREE_READONLY (node->decl);
+ new_node = varpool_create_variable_alias (new_decl, node->decl);
+ }
symtab_resolve_alias (new_node, node);
- gcc_assert (decl_binds_to_current_def_p (new_decl));
+ gcc_assert (decl_binds_to_current_def_p (new_decl)
+ && targetm.binds_local_p (new_decl));
return new_node;
}