aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2009-07-09 18:09:23 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2009-07-09 18:09:23 +0000
commit5223c588529b44e0538b2b99e48c2cce6f96818b (patch)
tree3a0dda42d164470f37d4432c1ccda9756afd7508 /gcc/varasm.c
parent8d4cf6d7c368be7d5e1b7302f6639ca540649d05 (diff)
downloadgcc-5223c588529b44e0538b2b99e48c2cce6f96818b.zip
gcc-5223c588529b44e0538b2b99e48c2cce6f96818b.tar.gz
gcc-5223c588529b44e0538b2b99e48c2cce6f96818b.tar.bz2
varasm.c (build_constant_desc): Don't share RTL in pool entries.
* varasm.c (build_constant_desc): Don't share RTL in pool entries. * gcc.target/m68k/20090709-1.c: New. From-SVN: r149426
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index f8744f7..6e81db4 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -3208,6 +3208,10 @@ build_constant_desc (tree exp)
set_mem_alias_set (rtl, 0);
set_mem_alias_set (rtl, const_alias_set);
+ /* We cannot share RTX'es in pool entries.
+ Mark this piece of RTL as required for unsharing. */
+ RTX_FLAG (rtl, used) = 1;
+
/* Set flags or add text to the name to record information, such as
that it is a local symbol. If the name is changed, the macro
ASM_OUTPUT_LABELREF will have to know how to strip this