summaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-01 17:54:15 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-01 17:54:15 +0000
commit584f29ace4895aa3c4dd495a59e59a872632bf66 (patch)
tree3c07188d587ad6bf3e787df017d76cbbac1270a9 /gcc/expr.c
parentb876a74420347fa4e71ff40a8b6d031f2219a82b (diff)
downloadgcc-584f29ace4895aa3c4dd495a59e59a872632bf66.tar.gz
* config/m68k/constraints.md: New.
* config/m68k/m68k.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Remove. * config/m68k/m68k.md: Include constraints.md. * expr.c (expand_expr_real_1): Copy DECL_RTL before using it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124335 138bc75d-0d04-0410-961f-82ee72b054a4
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 e8630f5cc86..5a618c98398 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -6968,6 +6968,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
case RESULT_DECL:
decl_rtl = DECL_RTL (exp);
gcc_assert (decl_rtl);
+ decl_rtl = copy_rtx (decl_rtl);
/* Ensure variable marked as used even if it doesn't go through
a parser. If it hasn't be used yet, write out an external