+2011-01-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/42894
+ * varasm.c (force_const_mem): Store copy of x in desc->constant
+ instead of x itself.
+ * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
+ itself into REG_EQUAL note.
+
2011-01-28 Joseph Myers <joseph@codesourcery.com>
* config/freebsd.opt (posix, rdynamic): New Driver options.
&& (set = single_set (last_insn)) != NULL_RTX
&& SET_DEST (set) == x
&& ! rtx_equal_p (y_cst, SET_SRC (set)))
- set_unique_reg_note (last_insn, REG_EQUAL, y_cst);
+ set_unique_reg_note (last_insn, REG_EQUAL, copy_rtx (y_cst));
return last_insn;
}
+2011-01-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/42894
+ * gcc.dg/tls/pr42894.c: New test.
+
2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.dg/pr47276.c: Add dg-require-visibility.
/* Output variables, constants and external declarations, for GNU compiler.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
pool->offset &= ~ ((align / BITS_PER_UNIT) - 1);
desc->next = NULL;
- desc->constant = tmp.constant;
+ desc->constant = copy_rtx (tmp.constant);
desc->offset = pool->offset;
desc->hash = hash;
desc->mode = mode;